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

 

You may also like...

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다