본문 바로가기
데이터베이스/Postgresql

[PostgreSQL] Schema 관리(생성/추가/변경/삭제)

by cbwstar 2021. 7. 16.
728x90
반응형

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]

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading