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 目录中查询用户信息。