createuser
& 명령이 있습니다 dropuser
:
createuser - define a new PostgreSQL user account
dropuser - remove a PostgreSQL user account
사용자 계정을 나열하는 해당 방법이 있습니까?
이 두 명령을 사용하려면 사용자가 호출 psql
하거나 사용 세부 사항을 알 필요가 없습니다.
답변1
쉘을 사용 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 | | {}
답변2
출력을 사용자 이름으로만 제한하려면 psql
셸이나 로컬 셸/터미널에서 다음을 수행하세요.
psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;"
그리고 이전 답변에서 지적했듯이 빠른 방법은 다음을 포함하여 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 메일링 리스트.
답변3
더 간단한 답변을 원하시면...
psql 내에서:
\du
터미널에서:
psql -c '\du'
이건 내가 이걸 기억하는 데 도움이 돼디자주 사용되는디뭔가를 설명하고너이다너재즈.
답변4
SQL 솔루션은 일반적으로 psql \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;