PostgreSQL 사용자 계정을 나열하는 명령?

createuser & dropuser 명령 :

createuser - define a new PostgreSQL user account dropuser - remove a PostgreSQL user account 

사용자 계정을 나열하는 해당 방법이 있습니까?

이 두 명령은 그렇지 않습니다. 사용자가 psql를 호출하거나 사용 세부 사항을 이해하도록 요구합니다.

답변

psql 셸 및 다음을 사용합니다.

\deu[+] [PATTERN] 예 :

postgres=# \deu+ List of user mappings Server | User name | FDW Options --------+-----------+------------- (0 rows) 

모든 사용자 :

postgres=# \du List of roles Role name | Attributes | Member of ------------+------------------------------------------------+----------- chpert.net | | {} postgres | Superuser, Create role, Create DB, Replication | {} 

MySQL처럼 다음을 수행 할 수도 있습니다.

$ psql -c "\du" List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- chpert | | {} postgres | Superuser, Create role, Create DB, Replication | {} test | | {} 

댓글

  • 터미널에서 : psql -c '\du'

답변

출력을 사용자 이름으로 만 제한하려면 psql 쉘 또는 로컬 쉘 / 터미널에서

psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;" 

빠른 m ethod는 이전 답변에서 지적했듯이 3 개의 열을 표시합니다. 사용자 이름 , 역할 속성 목록 및 역할 그룹의 구성원입니다.

psql -c "\du" 

마지막으로 후속 답변에서 지적했듯이 PostgreSQL 명령은 \du 명령에 대해 백그라운드에서 실행되며 다음을 호출하여 해당”기본 “열을 표시합니다.

SELECT u.usename AS "User name", u.usesysid AS "User ID", CASE WHEN u.usesuper AND u.usecreatedb THEN CAST("superuser, create database" AS pg_catalog.text) WHEN u.usesuper THEN CAST("superuser" AS pg_catalog.text) WHEN u.usecreatedb THEN CAST("create database" AS pg_catalog.text) ELSE CAST("" AS pg_catalog.text) END AS "Attributes" FROM pg_catalog.pg_user u ORDER BY 1; 

(\ du를 입력 할 때 psql이 백그라운드에서 수행하는 작업)

마지막 부분은 PostgreSQL 메일 링리스트 에서 복사되었습니다.

답변

간단한 답변 …

psql 내에서 :

\du 

터미널에서 :

psql -c "\du" 

d 는 d 무언가를 설명하고 u u sers.

답변

일반적으로 psql \ du에서 수행하는 SQL 솔루션 :

SELECT u.usename AS "User name", u.usesysid AS "User ID", CASE WHEN u.usesuper AND u.usecreatedb THEN CAST("superuser, create database" AS pg_catalog.text) WHEN u.usesuper THEN CAST("superuser" AS pg_catalog.text) WHEN u.usecreatedb THEN CAST("create database" AS pg_catalog.text) ELSE CAST("" AS pg_catalog.text) END AS "Attributes" FROM pg_catalog.pg_user u ORDER BY 1; 

Ref : https://www.postgresql.org/message-id/[email protected]

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다