【问题标题】:I need a SQL query for SELECT usename, usesuper, usecreatedb FROM pg_catalog.pg_user ORDER BY role_name desc;我需要一个 SQL 查询 SELECT usename, usesuper, usecreatedb FROM pg_catalog.pg_user ORDER BY role_name desc;
【发布时间】: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


【解决方案1】:

我建议你这个请求来查看你的数据库的所有用户:

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;

我建议您显示此文档: https://ubiq.co/database-blog/how-to-list-all-users-in-postgresql/#:~:text=Using%20psql%20command,-Log%20into%20PostgreSQL&text=Enter%20password%20to%20log%20into%20PostgreSQL.&text=Enter%20%5Cdu%20command%20to%20list%20all%20users%20in%20PostrgeSQL.&text=You%20will%20see%20the%20list,user%2C%20enter%20%5Cdu%2B%20command。

【讨论】:

    【解决方案2】:

    您可以运行此查询以获取 PostgreSQL 数据库中的用户和角色列表:

    SELECT usename, usesuper, usecreatedb 
    FROM pg_catalog.pg_user
    ORDER BY role_name desc;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多