-
postgresql 테이블에 칼럼 추가 + 커멘트 달기프로그래밍/DB 2020. 8. 14. 14:34728x90반응형
postgresql 테이블에 칼럼 추가 + 커멘트 달기
칼럼 추가 방식
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 제약조건
참고) postgresql numeric type
예시
- int 형의 칼럼 추가하고 코멘트 달기
ALTER TABLE 테이블이름 ADD 칼럼이름 integer;
COMMENT ON COLUMN 테이블이름.칼럼이름 IS '코멘트';
- numeric 형의 칼럼 추가하기
ALTER TABLE 테이블이름 ADD COLUMN "ERROR" numeric(5,3);
칼럼 이름을 대문자로 할 경우 ""로 감싸줍니다.
- varchar 칼럼 추가하면서 default 값 설정하기
ALTER TABLE test_tb ADD COLUMN name varchar(50) DEFAULT 'NONAME'
- character varying 사이즈 120인 칼럼 추가하기
ALTER TABLE test_tb ADD COLUMN name character varying(120)
default 값이 있는 칼럼을 추가할 경우
postgresql 10 이하 버전에서는 테이블을 다시 생성하기 때문에
시간도 오래 걸리고 그 동안에 access exclusive lock 에 걸리게 됩니다.
access exclusive lock 은 lock level 중 제일 높은 레벨로 select 까지 막히게 됩니다.
(실서비스 하는 데이터베이스에서 매우 곤란한 상황 ; - ; )
그럴 경우 한번에 칼럼을 추가하고 default 값을 설정하는 것보다는
아래의 예시와 같이 칼럼을 추가하고 기본 값을 설정하는 것이 좋습니다.
ALTER TABLE test_tb ADD COLUMN name varchar(50);
update test_tb set name = 'NONAME';
ALTER TABLE items ADD COLUMN updated_at timestamptz;
UPDATE items SET updated_at = now();
참고
https://americanopeople.tistory.com/272
https://americanopeople.tistory.com/292?category=695027
https://www.postgresql.org/docs/10/datatype-numeric.html728x90반응형'프로그래밍 > DB' 카테고리의 다른 글
mysql 자주 사용하는 구문들 정리 (8) 2022.03.28 postgres 데이터 파일로 저장하기 (0) 2020.10.05 postgresql 테이블 사이즈 확인하기 (2) 2020.07.18 mysql 데이터베이스 백업 스크립트 (0) 2020.05.02 psycopg2.OperationalError: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? (0) 2020.03.27