1. postgresql schema 구조
- schema는 object들의 논리적인 집합을 의미한다.
- TABLE, VIEW, SEQUENCE, SYSNONYM, DOMAIN, FUNCTION 등의 OBJECT들로 구성된다.
- SCHEMA를 사용하는 이유는 논리적집합체를 만들어 관리 편의성을 높이고 여러 사용자의 간섭없이 접속할 수 있게 한다.
2. 스키마 조회
- \dn 명령어로 조회 가능
3. 스키마 생성
(1) CREATE SCHEMA [schema_name] AUTHORIZATION [user_name] [ schema_element [ . . . ] ];
- 이름을 입력하지 않을 경우 USER의 이름을 schema 이름으로 사용한다. (pg_ 로 시작하는 이름은 스키마 이름으로 불가능)
(2) CREATE SCHEMA [schema_name] AUTHORIZATION [user_name] [ schema_element [ . . . ] ];
- AUTHORIZATION [user_name] 스키마를 소유한 USER의 이름을 입력한다.
- 생략할 경우 접속되어있던 USER가 default값으로 저장되며, SUPERUSER만이 다른 USER가 소유한 스키마를 만들 수 있다.
(3) CREATE SCHEMA IF NOT EXISTS [schema_name] AUTHORIZATION [user_name];
- 특정 이름이 스키마에 없을 경우에 해당 스키마를 생성한다.
(4) CREATE SCHEMA IF NOT EXISTS AUTHORIZATION [user_name];
- USER가 소유한 스키마가 존재하지 않을 경우 해당 스키마를 생성한다.
- TABLE과 VIEW를 추가한 SCHEMA 생성 예제
4. 스키마 변경
(1) ALTER SCHEMA [schema_name] RENAME TO [new_name];
- 스키마명 변경
(2) ALTER SCHEMA [schema_name] OWNER TO [new_owner];
- 스키마를 소유한 유저 변경
5. 스키마 삭제
- DROP SCHEMA [schema_name];
'[DB] POSTGRESQL' 카테고리의 다른 글
[PostgreSQL] postgresql job for postgresql-11.service failed because the control process exited with error code (0) | 2020.06.26 |
---|---|
[PostgreSQL] 테이블스페이스 및 오브젝트 사용량 조회 (0) | 2020.04.22 |
[PostgreSQL] 시간 데이터타입 쿼리/함수 (0) | 2020.04.01 |
[PostgreSQL] Tablespace 관리 (0) | 2020.04.01 |
[PostgreSQL] database 관리(생성/추가/삭제/변경) (0) | 2020.03.31 |