在 Ubuntu 上查看 PostgreSQL 的用户(角色),你可以使用 psql
命令行工具连接到 PostgreSQL 数据库,并执行 SQL 查询来查看所有存在的用户和他们的权限。
以下是如何查看 PostgreSQL 中所有用户的步骤:
-
以 postgres 用户身份登录:
首先,你需要以
postgres
系统用户身份登录到 shell。这可以通过以下命令完成(可能需要输入你的用户密码):|---|-----------------------|
| |sudo -u postgres -i
|或者简单地使用:
|---|----------------------------------|
| |sudo -u postgres psql postgres
|这将直接以
postgres
数据库为上下文启动psql
。 -
在 psql 中查看所有用户(角色):
在
psql
提示符下,执行以下 SQL 命令来查看所有用户和他们的权限:|---|-------|
| |\du
|或者,如果你想要更详细的输出,包括成员资格和复制权限,你可以使用:
|---|-------------------------------------------------------------------------------------|
| |SELECT rolname, rolsuper, rolcreaterole, rolcreatedb, rolinherit, rolreplication
|
| |FROM pg_roles;
|这将列出所有角色(在 PostgreSQL 中,用户和角色是相同的概念,只是角色可以没有登录权限),以及他们的属性,如是否是超级用户(
rolsuper
)、是否可以创建角色(rolcreaterole
)、是否可以创建数据库(rolcreatedb
)等。 -
退出 psql:
在
psql
提示符下,输入\q
并按回车键退出。 -
退出 postgres 用户 shell:
如果你首先以
postgres
用户身份登录到了 shell,你现在可以输入exit
或使用快捷键Ctrl + D
来退出。
注意:确保你的 PostgreSQL 服务正在运行,并且你有足够的权限来查看和查询数据库。如果你遇到任何问题或错误消息,请检查你的 PostgreSQL 日志文件(通常位于 /var/log/postgresql/
目录下)以获取更多信息。