일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- pg_dumpall
- pg_basebackup
- psql 복구
- PostgreSQL Admin
- oracle error
- ogg-01028
- pgcrypto
- PostgreSQL Install
- Linux
- Goldengate
- sql문 짤릴 때
- ogg 설치 방법
- sql문 전체 출력 방법
- dblink 삭제
- 19c tde
- OGG
- ogg 구성
- PostgreSQL Backup and Recovery
- 다른계정에서 dblink 삭제방법
- PostgreSQL Parameter 설정 방법
- PostgreSQL 아키텍처
- PostgreSQL 스키마 관리
- table lock 조치 방법
- multitenant
- PostgreSQL 테이블스페이스 관리
- 아카이브로그 삭제
- db upgrade
- PostgreSQL 테이블스페이스 생성 삭제
- PostgreSQL Parameter
- oracle
- Today
- Total
인성장
[PostgreSQL] 스키마 관리 (생성, 삭제 등) 본문
스키마 관리
PostgreSQL의 Schema 개념은 Oracle의 Schema 개념과 조금 다릅니다. Oracle의 Schema는 오브젝트를 가진 User를 의미하는 반면, PostgreSQL에서는 Table의 집합을 Schema라고 표현하며 이 Schema는 하나의 Database를 논리적으로 나누는 개념이라 볼 수 있습니다. 여러 User가 하나의 Schema 안에 Table을 생성할 수 있다는 의미인 것입니다.
스키마 생성
CREATE SCHEMA [IF NOT EXISTS] [schema_name] AUTHORIZATION [user_name];
CREATE SCHEMA testsch AUTHORIZATION postgres;
스키마 이름 수정
ALTER SCHEMA [schema_oldname] RENAME TO [schema_newname];
ALTER SCHEMA testsch RENAME TO newsch;
스키마 소유자 변경
ALTER SCHEMA [schema_name] OWNER TO [username];
ALTER SCHEMA newsch OWNER TO newowner;
스키마 조회 순서 확인
SHOW SEARCH_PATH;
SEARCH_PATH 일시적용
SET SEARCH_PATH TO Schema1, Schema2, ...;
SET SEARCH_PATH TO bbb, aaa;
SEARCH_PATH 영구적용
ALTER ROLE [username] SET SEARCH_PATH = Schema1, Schema2, ...;
ALTER ROLE postgres SET SEARCH_PATH = aaa, bbb;
SEARCH_PATH 초기화
ALTER ROLE [username] RESET SEARCH_PATH;
ALTER ROLE postgres RESET SEARCH_PATH;
스키마 삭제 방법
DROP SCHEMA [schema_name] [CASCADE | RESTRICT];
DROP SCHEMA aaa CASCADE;
* 기본값은 RESTRICT, CASCADE 옵션을 지정하면 Schema 하위에 연결 된 객체를 모두 강제 삭제하므로 사용에 주의