ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PostgreSQL 스키마 생성
    Database/PostgreSQL 2018.12.28 00:59

    SCHEMA 생성


     - SCHEMA는 Object들의 논리적 집합체 입니다. 

     - TABLE, VIEW, SEQUENCE, SYNONYM, DOMIAN, FUNCTION 등으로 구성되어 있습니다.

     - SCHEMA를 사용하는 이유는 논리적 집합체를 만들어서 관리의 편의성을 높이고, 여러 USER들 간의 간섭 없이 접속 할 수 있게 합니다.



    Synopsis :


    1. CREATE SCHEMA schema_name [ AUTHORIZATION user_name ] [ schema_element [ ... ] ]

    2. CREATE SCHEMA AUTHORIZATION user_name [3. schema_element [ ... ] ]

    4. CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION user_name ]

    5. CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_name


    1. CREATE SCHEMA ‘schemaname’을 입력하여 SCHEMA를 생성합니다. 이름을 입력하지 않을 경우 USER의 이름이 SCHEMA이름으로 사용됩니다. (단 Pg_로 시작하는 이름은 스키마로 불가능 합니다.)


    2. AUTHORIZATION ‘username’ 스키마를 소유한 USER의 이름을 입력합니다. 이를 생략할 경우 접속되어 있던 USER가 

    default값으로 저장되고 SUPERUSER만이 다른 USER가 소유한 SCHEMA를 만들 수 있습니다.


    3. schema_element [...]을 입력하여 SCHEMA 내에서 객체를 정의하는 SQL문을 작성합니다. CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE SEQUENCE, CREATE TRIGGER, GRANT등이 포함될 수 있습니다.


    4. CREATE SCHEMA IF NOT EXISTS ‘schema_name’ 을 입력하면 특정 이름이 SCHEMA에 없을 경우 그 SCHEMA를 생성합니다.


    5. CREATE SCHEMA IF NOT EXISTS AUTHORIZATION ‘user_name’ 은 USER가 소유한 SCHEMA가 존재하지 않을 때 SCHEMA를 생성합니다.




    SCHEMA 생성 예제


    postgres=# CREATE SCHEMA test01 AUTHORIZATION test_user;


    postgres=# GRANT ALL ON SCHEMA test01 TO test_user;



    - 오라클에서 SCHEMA = USER의 개념으로 하나의 User가 하나의 Schema를 소유합니다. 히지만 Postgres나 Mysql 같은 DB에서는 User와 Schema 는 분리된 개념이며,하나의 유저가 여러개의 스키마를 소유 할 수도 있습니다.



    댓글 0

Designed by black7375.

티스토리 툴바