[PostgreSQL] 테이블 ALTER문 정리

2026. 3. 9. 14:41공부/DB

후후 잊을만하면 옵니다 

살짝의 블미새의 맛을 본 저, 뭔가 적을만한 건덕지가 있으면 바로 로그인을 하는 사람이 됐습니다 

여튼 각설하고 제가 PK DEFAULT도 좀 바꾸고 컬럼명도 바꾸고 테이블명도 잘못 세팅한 게 있어서 수정을 하려고 보니까

PostgreSQL은 ALTER문에 MODIFY를 사용할 수 없더라구요!!

그래서 간단히 정리해보려고 합니다

사실 계속 사용할거라서 제가  잊어버릴까봐


1. 테이블명 변경

단순히 테이블 이름 변경할 때만 사용합니다. 

ALTER TABLE [테이블명] RENAME TO [테이블명_NEW]

 

2. 컬럼 변경

컬럼명 변경할 때도 마찬가지로 RENAME을 사용합니다

ALTER TABLE [테이블명] RENAME COLUMN [컬럼명] TO [변경할 컬럼명]

하지만 설정을 바꿀 때 좀 달랐는데요, MODIFY가 아니라 ALTER COLUMN 구문을 사용하며, SET 키워드를 통해 설정을 변경합니다.

이때 뭐 default를 변경하거나, notnull을 설정하거나~

ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] SET NOT NULL;

마지막으로 타입을 변경할 때는 SET 이 아닌 TYPE으로 변경합니다. 

ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] TYPE [변경할 타입]

여기까지 오고 나면 컬럼명이랑 타입을 동시 수정하게 되면 어떡하나 라는 생각을 하실 수도 있을텐데요

PostgreSQL에서는 하나의 ALTER TABLE 문에서 여러 컬럼 변경 작업을 콤마(,)로 구분하여 동시 수행이 가능하기 때문에 그냥 나열해주면 됩니다.

ALTER TABLE [테이블명] 
RENAME COLUMN [컬럼명] TO [변경할 컬럼명],
ALTER COLUMN [변경할 컬럼명] TYPE [변경할 타입]

작성 시에 콤마(,) 없으면 오류나니까 참고해주세요!

 

다 똑같은 듯 다른 문법 덕분에 알아가는 재미가 쏠쏠한 거 같아요!

'공부 > DB' 카테고리의 다른 글

[PostgreSQL] 시퀀스 생성, 활용  (0) 2026.03.09