[PostgreSQL] USER 생성
2021. 2. 25. 16:45728x90
DATABASE에서 USER는 DATABASE를 사용하는 주체로서 OS를 운영하는 USER와는 분리되어 있습니다. USER는 소유하고 있는 DATABASE안에 있는 OBJECT의 권한을 변경하고 제어할 수 있습니다.
USER 조회
유저를 생성하기 위해서는 먼저 DATABASE에서 SUPERUSER권한을 가지고 있어야 합니다. PostgreSQL에 SUPERUSER의 default 계정은 postgres입니다.
위의 SELECT * FROM PG_SHADOW를 입력하면 현재 등록되어 있는 USER들을 확인 할 수 있습니다.
- [그림] psql을 이용한 USER정보 확인
-
\du를 입력하면 USER들이 가지고 있는 ROLE들을 확인 할 수 있습니다. SUPERUSER인 postgres는 SUPERUSER, CREATE ROLE, CREATE DB, REPLICATION기능을 가지고 있습니다.
ROLE 기능
SUPERUSER | USER들을 생성하고 권한을 부여해 주는 USER |
CREATE ROLE | USER가 새로운 ROLE을 정의하는 기능을 생성 |
CREATE DB | USER가 DB를 생성하는 권한을 부여하는 기능 |
REPLICATION | USER가 DB를 실시간으로 복사하는 기능 |
CREATE USER
유저를 생성할 때는 CREATE USER ‘username’을 입력하여 USER를 생성합니다. username 뒤에는 여러 가지 option이 추가될 수 있습니다.
option은 다음과 같습니다.
Option Option
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’를 입력하고 인증이 필요 없는 경우 옵션을 생략이 가능합니다. |
- [User 생성 예제]
- [그림] USER 생성 결과 화면
- [User 와 password 생성 예제]
- [그림] USER PASSWORD 생성 결과 화면
- [User 와 DB생성 권한 설정 예제]
- [그림] USER DB생성 권한 설정 결과 화면
-
728x90
'DATABASE > POSTGRESQL' 카테고리의 다른 글
[PostgreSQL] DATABASE 생성 (0) | 2021.02.25 |
---|---|
[PostgreSQL] USER 수정 및 삭제 (0) | 2021.02.25 |
[PostgreSQL] pgsql 명령어 (0) | 2021.02.25 |
[PostgreSQL] pgAdmin III (0) | 2021.02.25 |
[PostgreSQL] Confirutaion 구성 (0) | 2021.02.25 |