전공공부
[Postgresql] CTAS을 쓰면서 partition table을 그대로 옮길 수 있는 방법 본문
CTAS로 기존 테이블 데이터를 옮김과 동시에 파티션 테이블을 구성하고 싶었는데 딱히 떠오르는 방법이 없어서 쓴 방법이다.
우선 옮기기 위한 PARTITIONED TABLE을 만든다.
CREATE TABLE <table_name> PARTITION BY (<column_name>);
기존의 파티셔닝 테이블만 CTAS로 따로 만들어 둔다.
CREATE TABLE <partition_table_name> AS (SELECT * FROM <selected_partitioned_table_name>);
그리고, 처음에 만든 테이블에 붙여둔다.
ALTER TABLE <table_name> ATTACH PARTITION <partition_table_name> FOR VALUES 파티션범위명세
이상이다.
대용량의 데이터를 옮길때는 쓸 만 하나 300M 미만이라면 차라리 INSERT 해서 옮기는 것이 나은 듯하다.
'Study' 카테고리의 다른 글
대규모 트래픽을 다루기 위한 설계 방안 (1) | 2024.05.15 |
---|