본문 바로가기

DB/PostgreSQL

[ PostgreSQL ] CREATE - 스키마 생성하기

반응형

1. 스키마 생성하기

PostgreSQL에서 스키마를 생성하는 방법은 간단합니다. SQL 명령어 CREATE SCHEMA를 사용하여 새로운 스키마를 생성할 수 있습니다. 기본적인 형식은 다음과 같습니다:

CREATE SCHEMA schema_name;

여기서 schema_name은 생성하려는 스키마의 이름을 나타냅니다.

또한, 스키마를 생성하면서 동시에 해당 스키마에 특정 사용자를 소유자로 지정하고 싶다면 다음과 같이 명령을 확장할 수 있습니다:

CREATE SCHEMA schema_name AUTHORIZATION user_name;

이 명령은 user_name이라는 사용자에게 schema_name 스키마의 소유권을 부여합니다.

사용 예제:

  1. 기본 스키마 생성
  2. CREATE SCHEMA my_schema;
  3. 사용자 지정 스키마 생성
  4. CREATE SCHEMA my_schema AUTHORIZATION john_doe;

이 명령들을 PostgreSQL의 쿼리 실행 도구(예: psql, PgAdmin 등)에서 실행하면 됩니다.

 

2. 권한 설정하기

PostgreSQL에서 스키마에 대한 사용자 권한을 설정하는 것은 권한 관리의 중요한 부분입니다. 사용자에게 스키마에 접근하거나 스키마 내의 객체를 사용할 수 있는 권한을 부여하려면 GRANT 명령을 사용합니다. 기본적인 형식은 다음과 같습니다:

GRANT 권한 ON SCHEMA 스키마명 TO 사용자명;

여기서:

  • 권한은 부여하려는 권한 유형입니다 (예: USAGE, CREATE 등).
  • 스키마명은 권한을 부여하려는 스키마의 이름입니다.
  • 사용자명은 권한을 받을 사용자의 이름입니다.

권한 유형

  1. USAGE: 사용자가 스키마를 참조할 수 있도록 합니다. 하지만 이 권한만으로는 스키마 내의 객체를 생성할 수는 없습니다.
  2. CREATE: 사용자가 스키마 내에 새로운 객체(테이블, 뷰 등)를 생성할 수 있도록 합니다.
  3. ALL: 스키마에 대한 모든 권한을 사용자에게 부여합니다.

예제

  1. 사용 권한 부여
   GRANT USAGE ON SCHEMA my_schema TO user_name;
  1. 생성 권한 부여
   GRANT CREATE ON SCHEMA my_schema TO user_name;
  1. 모든 권한 부여
   GRANT ALL ON SCHEMA my_schema TO user_name;

권한을 부여한 후에는 언제든지 REVOKE 명령을 사용하여 권한을 취소할 수 있습니다. 예를 들어, 사용자의 생성 권한을 취소하려면 다음과 같이 할 수 있습니다:

REVOKE CREATE ON SCHEMA my_schema FROM user_name;

이 명령들을 통해 스키마에 대한 세밀한 권한 관리가 가능합니다.

반응형