PostgreSQL 列出用户
在本教程中,您将学习如何使用 PostgreSQL list user 命令来显示 PostgreSQL 数据库服务器中的所有用户。
摘要:在本教程中,您将学习如何使用 PostgreSQL list user 命令来显示 PostgreSQL 数据库服务器中的所有用户。
使用 psql 工具列出用户
首先,使用用户连接到 PostgreSQL 数据库服务器 postgres :
$ psql -U postgres
它会提示你输入密码:
Password:
输入 postgres 用户密码后,您将看到以下 PostgreSQL 命令提示符:
postgres=#
其次,使用 \du 列出当前 PostgreSQL 数据库服务器中的所有用户帐户(或角色):
postgres=# \du

如果要显示更多信息,可以使用以下 \du+ 命令:
postgres=#\du+
该 \du+ 命令添加了一个名为 的附加列 description 。
使用 SQL 语句列出用户
下面的语句通过返回当前数据库服务器的所有用户查询数据从 pg_catalog.pg_user 目录:
SELECT usename AS role_name,
CASE
WHEN usesuper AND usecreatedb THEN
CAST('superuser, create database' AS pg_catalog.text)
WHEN usesuper THEN
CAST('superuser' AS pg_catalog.text)
WHEN usecreatedb THEN
CAST('create database' AS pg_catalog.text)
ELSE
CAST('' AS pg_catalog.text)
END role_attributes
FROM pg_catalog.pg_user
ORDER BY role_name desc;

概括
- 使用
\du或\du+psql 命令列出当前数据库服务器中的所有用户。 - 使用该
SELECT语句从pg_catalog.pg_user目录中查询用户信息。