PostgreSQL: 스키마 복제 및 스키마 생성, 삭제, 변경 예제
PGSQL에서 스키마를 복제하는 간단한 예제입니다.
스키마 복제
셀 커맨드 창에서 pg_dump, sed, psql 3개의 명령어로 스키마를 복제합니다.|로 3개의 명령어를 연결했으며 "스키마 덤프 > 스키마 명 치환 > 스키마 추가"" 순으로 진행됩니다.
# 스키마 / 데이터 모두 복제
pg_dump -U username -n source_schema dbname | sed 's/source_schema/dest_schema/g' | psql -U username -d dbname
# 스키마 만 복제
pg_dump -s -U username -n source_schema dbname | sed 's/source_schema/dest_schema/g' | psql -U username -d dbname
# 데이터 만 복제
pg_dump -a -U username -n source_schema dbname | psql -U username -d dbname -n
PGSQL에 함수를 만들어 사용하는 방법도 있습니다. 자세한 방법은 외부 링크를 확인해주세요.
- PostgreSQL Wiki: Clone schema
- Github Gist: postgresql clone schema
- Github Gist: enhanced postgresql clone_schema() function with trigger + foreign key support
스키마 생성, 삭제, 변경
-- 스키마 생성
CREATE SCHEMA schema_name AUTHORIZATION username;
-- 스키마 이름 변경
ALTER SCHEMA schema_name RENAME TO new_schema_name;
-- 스키마 소유자 변경
ALTER SCHEMA username OWNER TO new_username;
-- 스키마 삭제
DROP SCHEMA schema_name CASCADE;
함께보기
- PostgreSQL: pg_dump
- PostgreSQL: psql
- PostgreSQL: CREATE SCHEMA
- PostgreSQL: DROP SCHEMA
- PostgreSQL: ALTER SCHEMA