八月 17, 2023
摘要:在本教程中,您将学习如何使用 PostgreSQL 列出用户的命令来显示 PostgreSQL 数据库服务器中的所有用户。
目录
使用 psql 工具列出用户
首先,使用postgres
用户连接到 PostgreSQL 数据库服务器:
$ 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;
概括
-
使用 psql 的
\du
或\du+
命令列出当前数据库服务器中的所有用户。 -
使用
SELECT
语句从pg_catalog.pg_user
系统视图中查询用户信息。