PostgreSQL 유저 생성

유저 생성


 - DATABASE에서 USER는 DATABASE를 사용하는 주체로서 OS를 운영하는 USER와는 분리되어 있습니다. USER는 소유하고 있는 DATABASE안에 있는 OBJECT의 권한을 변경하고 제어할 수 있습니다.


 - 유저를 생성하기 위해서는 먼저 DATABASE에서 SUPERUSER권한을 가지고 있어야 합니다. PostgreSQL에 SUPERUSER의 default 계정은 postgres입니다.



유저 조회


postgres=# SELECT * FROM PG_SHADOW;


or


postgres=# \du



 - \du를 입력하면 USER들이 가지고 있는 ROLE들을 확인 할 수 있습니다. SUPERUSER인 postgres는 SUPERUSER, CREATE ROLE, CREATE DB, REPLICATION기능을 가지고 있습니다.


SUPERUSER : USER들을 생성하고 권한을 부여해 주는 USER

CREATE ROLE : USER가 새로운 ROLE을 정의하는 기능을 생성

CREATE DB : USER가 DB를 생성하는 권한을 부여하는 기능

REPLICATION : USER가 DB를 실시간으로 복사하는 기능



Synopsis :


CREATE USER username [[ WITH ] option [ ... ]]

where option can be:



SUPERUSER  | NOSUPERUSER   - 해당 USER를 SUPERUSER권한을 주는 것입니다. 

                             따로 지정하지 않을 경우 DEFAULT값으로 NOSUPERUSER가 됩니다.

CREATEDB   | NOCREATEDB    - DATABASE를 생성하는 권한을 정의합니다. 

                             CREATEDB를 선택할 경우 USER는 DATABASE를 생성할 권한이 부여됩니다. 

                             NOCREATEDB를 선택할 경우 USER는 DATABASE를 생성할 권한이 거부됩니다. 

       따로 정의 되어있지 않을 경우 NOCREATEDB값이 default 설정되어 있습니다.

CREATEUSER | NOCREATEUSER  - 스스로 새로운 유저를 생성하는 권한을 부여하는 것을 정의합니다.

                             CREATEUSER를 선택할 경우 USER를 생성할 수 있는 권한이 부여됩니다.

                             NOCREATEUSER를 선택할 경우 USER를 생성할 권한이 거부됩니다.

INHERIT    | NOINHERIT    - DATABASE의 권한을 다른 구성원들에게 상속하는 역할을 합니다.

                             따로 정의 되어있지 않을 경우 INHERIT 값이 default값으로 설정 되어 있습니다.

LOGIN      | NOLIGIN    - USER가 LOGIN을 하는 역할을 부여합니다.

CONNECTION LIMIT connlimit - 로그인 할 때 동시연결을 지원 하는 기능으로 default값으로 -1(제한없음)로 

                             설정 되어 있습니다.

[ENCRYPTED | UNCRYPTED ] PASSWORD 'password' - ‘password’를 입력하고 인증이 필요 없는 경우 옵션을 생                                                 략이 가능합니다.



생성 예제


postgres=# create user TEST_USER with password 'test01';


'Database > PostgreSQL' 카테고리의 다른 글

PostgreSQL 점검  (0) 2018.12.31
PostgreSQL 권한 부여 및 해제  (0) 2018.12.31
PostgreSQL 유저 생성  (0) 2018.12.28
PostgreSQL 스키마 생성  (0) 2018.12.28
PostgreSQL Tablespace 생성  (0) 2018.12.27
PostgreSQL DB 생성 및 삭제  (0) 2018.12.27