【发布时间】:2022-10-06 00:23:57
【问题描述】:
我想查看 all.SELECT usename、usesuper、usecreatedb FROM pg_catalog.pg_user ORDER BY role_name desc;选择用户名,使用超级,使用创建数据库 FROM pg_catalog.pg_user ORDER BY role_name desc;
-
请提供足够的代码,以便其他人可以更好地理解或重现该问题。
标签: postgresql
我想查看 all.SELECT usename、usesuper、usecreatedb FROM pg_catalog.pg_user ORDER BY role_name desc;选择用户名,使用超级,使用创建数据库 FROM pg_catalog.pg_user ORDER BY role_name desc;
标签: postgresql
我建议你这个请求来查看你的数据库的所有用户:
postgres-# \du
如果您想从用户那里获得更多信息,您可以使用:
postgres-# \du+
如果您有更多困难,我建议您提出这个要求
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;
【讨论】:
您可以运行此查询以获取 PostgreSQL 数据库中的用户和角色列表:
SELECT usename, usesuper, usecreatedb
FROM pg_catalog.pg_user
ORDER BY role_name desc;
【讨论】: