데이터 노트

[Redshift] 기존 테이블의 컬럼명 변경을 위한 방법 본문

Data Engineering/DB

[Redshift] 기존 테이블의 컬럼명 변경을 위한 방법

돌돌찐 2024. 3. 20. 20:21

Redshift는 Postgresql을 기반으로 하여 만들어진 데이터베이스라고 하지만,

작업을 하다보면 일부 다른 부분들이 있다.

 

Redshift에서는 기존에 이미 생성된 테이블의 컬럼의 경우,

이름을 변경하거나 데이터타입을 변경하는 작업의 경우 불가하다.

 

그런데 오늘 작업 중 기존의 컬럼명을 변경해야하는 케이스가 있었는데,

조금 번거롭지만 아래와 같이 진행하면 된다.

 

1. 변경하고자 하는 이름의 새로운 컬럼 추가.

2. 기존 컬럼에서 새로 추가된 컬럼으로 데이터 복사.

3. 기존 컬럼 삭제.

 

쿼리로 작성해보자.

-- 1. 새로운 컬럼 추가
ALTER TABLE [테이블명]
ADD COLUMN [새로운 컬럼명] [데이터 타입];

-- 2. 데이터 복사 
UPDATE [테이블명]
SET [새로운 컬럼명] = [기존 컬럼명];

-- 3. 기존 컬럼 삭제
ALTER TABLE [테이블명]
DROP COLUMN [기존 컬럼명];


-- 예시
ALTER TABLE tb1
ADD COLUMN new_col BOOLEAN;

-- 2. 데이터 복사 
UPDATE tb1
SET new_col = old_col;

-- 3. 기존 컬럼 삭제
ALTER TABLE tb1
DROP COLUMN old_col;

 

위 작업을 수행하기 전, 

혹시 모르니 데이터를 백업해 두면 좋고, 별도의 조건이 필요로 되지는 않는지 등

확인하면 좋을 듯 하다!