DB/PostgreSQL

PostgreSQL 계정 생성, Role 추가하기(psql 이용) - 1

심플블루 2020. 6. 4. 23:30
반응형

# 먼저 계정들의 권한을 조회해보자

1
2
3
4
5
6
7
8
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
postgres 사용자의 암호:
psql (10.13)
도움말을 보려면 "help"를 입력하십시오.
 
cs
  • 관리자계정(postgres)로 접속하여야 권한 생성과 Role 추가가 가능하다.
Server [localhost]: ↲ (엔터 입력)
Database [postgres]: ↲ (엔터 입력)
Port [5432]: ↲ (엔터 입력)
Username [postgres]: ↲ (엔터 입력)
postgres 사용자의 암호:  5432 (입력)
psql (10.13)
도움말을 보려면 "help"를 입력하십시오.



1
postgres=# \du
cs
  • \du  입력
  • 현재 이 데이터베이스의 계정과 권한, Role을 보여주는 명령어이다.


1
2
3
4
5
6
                                롤 목록
 롤 이름  |                      속성                      | 소속 그룹:
----------+------------------------------------------------+------------
 postgres | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과  | {}
 
 

cs
  • 계정은 postgres 한 개만 존재하고 해당 계정의 권한, Role 이 보인다.


1
2
3
4
postgres=SELECT * FROM pg_shadow;

 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |               passwd                | valuntil | useconfig
----------+----------+-------------+----------+---------+--------------+-------------------------------------+----------+-----------
 postgres |       10 | t           | t        | t       | t            | md53175bce1d3201d16594cebf9d7eb3f9d |          |
cs
  • pg_shadow 테이블을 조회하여서도 계정 권한을 조회할 수 있다.



# 계정 생성과 Role 추가하기


계정생성

1
2
3
4
postgres=CREATE USER red WITH PASSWORD 'red';
cs
  • red 라는 비밀번호를 가진 red라는 계정을 생성


생성된 계정 조회

1
2
3
4
5
6
postgres=# \du
                                롤 목록
 롤 이름  |                      속성                       | 소속 그룹:
----------+------------------------------------------------+------------
 postgres | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과  | {}
 red      |                                                | {}
cs
  • 방금 생성한 red라는 계정은 아무런 권한, Role을 가지고 있지 않다.

계정에 Role 추가하기

1
2
postgres=ALTER ROLE red CREATEDB REPLICATION;
cs
  • red라는 계정이 데이터베이스를 생성할 수 있는 Role을 추가하였다.

추가된 Role 조회하기

1
2
3
4
5
6
postgres=# \du
                                롤 목록
 롤 이름  |                      속성                      | 소속 그룹:
----------+------------------------------------------------+------------
 postgres | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과   | {}
 red      | DB 만들기, 복제                                | {}
cs
  • red 계정에 데이터베이스 만들기(DB 만들기), 데이터베이스 복제하기(실시간으로 데이터베이스를 복제하기) Role이 추가된 것을 확인할 수 있다.



다음 포스팅에서 해당 Role에 대한 속성을 자세히 설명하도록 하겠다-!

(추가로 alter 외의 쿼리를 사용하여 Role을 추가하도록 하겠다)


반응형