个人技术分享

在 Ubuntu 上查看 PostgreSQL 的用户(角色),你可以使用 psql 命令行工具连接到 PostgreSQL 数据库,并执行 SQL 查询来查看所有存在的用户和他们的权限。

以下是如何查看 PostgreSQL 中所有用户的步骤:

  1. 以 postgres 用户身份登录

     

    首先,你需要以 postgres 系统用户身份登录到 shell。这可以通过以下命令完成(可能需要输入你的用户密码):

    sudo -u postgres -i

    或者简单地使用:

    sudo -u postgres psql postgres

    这将直接以 postgres 数据库为上下文启动 psql

  2. 在 psql 中查看所有用户(角色)

     

    在 psql 提示符下,执行以下 SQL 命令来查看所有用户和他们的权限:

    \du

    或者,如果你想要更详细的输出,包括成员资格和复制权限,你可以使用:

    SELECT rolname, rolsuper, rolcreaterole, rolcreatedb, rolinherit, rolreplication
    FROM pg_roles;

    这将列出所有角色(在 PostgreSQL 中,用户和角色是相同的概念,只是角色可以没有登录权限),以及他们的属性,如是否是超级用户(rolsuper)、是否可以创建角色(rolcreaterole)、是否可以创建数据库(rolcreatedb)等。

  3. 退出 psql

     

    在 psql 提示符下,输入 \q 并按回车键退出。

  4. 退出 postgres 用户 shell

     

    如果你首先以 postgres 用户身份登录到了 shell,你现在可以输入 exit 或使用快捷键 Ctrl + D 来退出。

注意:确保你的 PostgreSQL 服务正在运行,并且你有足够的权限来查看和查询数据库。如果你遇到任何问题或错误消息,请检查你的 PostgreSQL 日志文件(通常位于 /var/log/postgresql/ 目录下)以获取更多信息。