摘要:在本教程中,您将学习如何使用 PostgreSQL 列出用户的命令来显示 PostgreSQL 数据库服务器中的所有用户。

目录

使用 psql 工具列出用户

使用 SQL 语句列出用户

概括

了解更多

使用 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系统视图中查询用户信息。

了解更多

PostgreSQL 管理