PostgreSQL 파티션 DDL 생성기
브라우저 안에서만 처리됩니다. 입력한 내용과 선택한 파일은 서버로 전송되지 않습니다. 익명 방문 통계만 집계합니다.
생성 DDL 은 출발점입니다 — 컬럼 정의를 채우고, 기존 테이블의 데이터 이동은 별도 작업입니다(이 도구는 새 파티션 구조의 골격만 만듭니다).
생성된 DDL
CREATE TABLE orders ( -- 여기에 컬럼 정의 ) PARTITION BY RANGE (created_at); CREATE TABLE orders_p2026_09 PARTITION OF orders FOR VALUES FROM ('2026-09-01') TO ('2026-10-01'); CREATE TABLE orders_p2026_10 PARTITION OF orders FOR VALUES FROM ('2026-10-01') TO ('2026-11-01'); CREATE TABLE orders_p2026_11 PARTITION OF orders FOR VALUES FROM ('2026-11-01') TO ('2026-12-01');
사용법
- 부모 테이블명·파티션 키 컬럼명을 입력하고 방식(RANGE 날짜/RANGE 숫자/LIST/HASH)을 고릅니다 — 방식마다 해당 입력만 나타납니다.
- 입력을 바꾸면 DDL 이 즉시 다시 계산됩니다. 검증에 걸리면(예: 개수가 정수가 아님) 오류 메시지가 바로 나타납니다.
- 복사 버튼으로 DDL 을 복사해 psql 이나 마이그레이션 파일에 붙여넣고, `-- 여기에 컬럼 정의` 자리에 실제 컬럼 정의를 채웁니다.
자주 묻는 질문
입력한 테이블·컬럼 이름이 서버로 전송되나요?
아니요. 이 도구는 브라우저 안에서만 DDL 문자열을 계산하며, 입력을 서버로 전송하지 않습니다.
RANGE 파티션의 FROM 포함·TO 배타가 왜 중요한가요?
PostgreSQL 공식 문서 기준으로 RANGE 파티션의 하한(FROM)은 포함, 상한(TO)은 배타입니다 — FROM 값은 그 파티션에 속하고 TO 값은 다음 파티션에 속합니다. 이걸 반대로 알고 손으로 경계를 짜면 자정 정각처럼 경계에 딱 걸치는 값이 예상과 다른 파티션에 들어가거나, 두 파티션 사이에 빈틈이 생겨 어떤 파티션에도 안 맞는 INSERT 가 실패할 수 있습니다.
이미 있는 일반 테이블을 파티션 테이블로 바꾸려면?
이 도구는 새 파티션 구조의 골격만 만들 뿐, 기존 테이블을 파티션 테이블로 바꾸는 마이그레이션 절차는 만들지 않습니다 — 대개는 새 파티션 테이블을 만들어 데이터를 옮기거나 ATTACH PARTITION 으로 기존 테이블을 파티션으로 붙이는 방식을 씁니다. 정확한 절차와 제약은 PostgreSQL 공식 문서의 ddl-partitioning 장을 참고하세요.
파티션을 스케줄대로 자동 생성·삭제해주는 도구가 있나요?
있습니다 — 예를 들어 pg_partman 같은 확장은 RANGE 파티션을 일정에 맞춰 자동으로 만들고 보존기간이 지나면 자동으로 지웁니다. 다만 그건 이 도구의 범위가 아닙니다 — 여기서는 DDL 한 번 생성까지만 다룹니다. 자동화가 필요하면 pg_partman 문서를 확인하세요.