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];

출처: https://kwomy.tistory.com/11?category=851266 [Kwomy's DB World]
'데이터베이스 > Postgresql' 카테고리의 다른 글
[PostgreSQL] 데이터 있으면 update 없으면 insert (1) | 2021.07.17 |
---|---|
[PostgreSQL] 시퀀스 생성 및 사용 (0) | 2021.07.17 |
[PostgreSQL] SQL 파일 실행 (0) | 2021.07.16 |
[PostgreSQL] 문자열 함수 (자르기, 붙히기, 치환 등) (0) | 2021.07.16 |
[PostgreSQL] 사용하지 않는 인덱스 조회 및 성능 개선 (0) | 2021.07.16 |
댓글