명령어/DB
[PostgreSQL] \du 롤(계정)과 권한 속성을 본다
jykim23
2026. 7. 30. 22:12
반응형
설치·접속: PostgreSQL 설치와 접속
부제: 서버에 등록된 롤과 슈퍼유저·생성권한 같은 속성을 한눈에 확인한다
psql -d shop -c '\du' # 전체 롤 목록과 속성
psql -d shop -c '\du app_ro' # 특정 롤만
psql -d shop -c '\dg' # \du 와 동일 (group 관점)
List of roles
Role name | Attributes
-----------+------------------------------------------------------------
app_ro |
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS\du는 PostgreSQL의 롤(role) 목록을 보여준다. PostgreSQL은 유저와 그룹을 구분하지 않고 모두 "롤"이라는 하나의 개념으로 다루는데, 로그인 가능한 롤이 곧 계정이다. Attributes 칸에 Superuser·Create DB·Replication 같은 권한 속성이 뜨고, 아무 속성도 없는 app_ro처럼 비워진 롤은 별도로 부여된 GRANT 권한만 갖는 제한 계정이다. 누가 슈퍼유저인지, 애플리케이션 전용 읽기 계정이 제대로 만들어졌는지 점검할 때 쓴다. \dg도 같은 결과를 낸다.
이렇게도 쓴다
특정 롤만 패턴으로 좁혀 본다.
psql -d shop -c '\du app*'
설명(COMMENT)까지 붙은 상세 목록을 본다. (+ 상세)
psql -d shop -c '\du+'
롤이 어떤 테이블에 어떤 권한을 갖는지 확인한다. (조합: \dp)
psql -d shop -c '\dp users'
로그인 가능한 계정만 SQL로 골라낸다. (조합: pg_roles)
psql -d shop -c "SELECT rolname FROM pg_roles WHERE rolcanlogin;"
읽기 전용 롤을 새로 만들어 바로 확인한다. (조합: CREATE ROLE + \du)
psql -d shop -c "CREATE ROLE report LOGIN PASSWORD 'pw';" -c '\du report'반응형