본문 바로가기
데이터베이스/Postgresql

[PostgreSQL] 계정/유저관리

by cbwstar 2021. 7. 16.
728x90
반응형

1. user 조회

   select * from pg_shadow;

postgres=# select * from pg_shadow;
 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |               passwd                | valuntil
| useconfig
----------+----------+-------------+----------+---------+--------------+-------------------------------------+----------+-----------
 postgres |       10 | t           | t        | t       | t            | md53175bce1d3201d16594cebf9d7eb3f9d |
|
 invako   |    16384 | f           | t        | f       | f            | md5878d66bbc3cc548a7f17e7521ea8be1c |
|
 test     |    32768 | t           | t        | f       | f            | md505a671c66aefea124cc08b76ea6d30bb |
|
 com      |    34535 | f           | t        | f       | f            | md53fa4bf009f28f3f7d673535f65d434b3 |
|
(4개 행)

\du 명령어로 조회

postgres=# \du
                                롤 목록
 롤 이름  |                      속성                      | 소속 그룹:
----------+------------------------------------------------+------------
 com      | 슈퍼유저                                       | {}
 invako   | 슈퍼유저                                       | {}
 postgres | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과 | {}
 test     | 슈퍼유저, DB 만들기                            | {}
ROLE funtion
SUPERUSER USER 생성, 권한을 부여해주는 USER
CREATE ROLE USER가 새로운 ROLE을 정의하는 기능을 생성
CREATE DB USER가 DB를 생성하는 권한을 부여하는 기능
REPLICATION USER가 DB를 실시간으로 복사하는 기능

 - \du 를 입력하면 각 user가 가진 role(권한)을 확인할 수 있다.

 - DB설치시 default로 생성되는 postgres 유저는 모든 권한을 가지고 있다. 


2. USER 생성 및 권한 부여

 - USER 권한 목록 (\du 명령어 통해서 조회 가능)

OPTION DEFAULT OPTION
SUPERUSER NOSUPERUSER 해당 USER에게 SUPERUSER권한을 줌
CREATEDB NOCREATEDB DATABASE를 생성하는 권한을 정의
CREATEUSER NOCREATEUSER 스스로 새로운 유저를 생성하는 권한을 정의
INHERIT NOINHERIT DATABASE의 권한을 다른 구성원들에게 상속하는 역할
LOGIN NOLOGIN USER가 LOGIN하는 권한을 부여
CONNECTION LIMIT connlimit -1 로그인 시 동시연결을 지원하는 기능
[ENCRYPTED]
PASSWORD 'password'
[UNCRYPTED] 'password' 를 입력하고 인증이 필요 없는 경우 옵션 생략이 가능

 

 - CREATE USER [user_name] [ [WITH] option [ . . . ] ]

예시) postgres=# CREATE USER test_user with SUPERUSER PASSWORD 'test';

 

3. USER 변경

 - 유저 변경 : ALTER USER [user_name] [ [WITH] option [ . . . ] ] ;

 - 유저 이름 변경 : ALTER USER [user_name] RENAME TO [new_user_name];

 - 유저 비밀번호 변경 : ALTER USER [user_name] WITH PASSWORD 'new_password';

 - 유저 권한 변경 : ALTER USER [user_name] WITH CREATEUSER REPLICATION;

 

4. USER 삭제

 - DROP USER [user_name];

 

 


출처: https://kwomy.tistory.com/9?category=851266 [Kwomy's DB World]

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading