【问题标题】:Minimum PostgreSQL requirement to view all databases?查看所有数据库的最低 PostgreSQL 要求?
【发布时间】:2017-04-24 03:21:12
【问题描述】:

长期从事 MariaDB/MySQL DBA,两周后成为 Postgres DBA,我被难住了...

我正在创建一个扫描主机并枚举数据库的脚本,但我很难确定最低权限的 Postgres 权限。该脚本在使用 SUPERUSER 进行测试时工作正常,但我不确定它需要什么权限之外的 USAGE。看来我想出的任何组合都行不通。

【问题讨论】:

  • 向我们展示您的脚本。你如何“扫描主机”?还有“不工作”是什么意思?

标签: postgresql information-schema


【解决方案1】:

获取 PostgreSQL 集群中的数据库列表所需的只是一个可以连接到其中一个数据库的数据库用户。然后就可以运行SQL语句了

SELECT datname
FROM pg_database
WHERE datallowconn;

【讨论】:

  • 这样用户就可以查看实例中的所有数据库,无论他们是否有权访问它们?
  • 对。 PostgreSQL 向所有人显示所有元数据(某些元数据,如密码,仅限超级用户使用)。
猜你喜欢
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
相关资源
最近更新 更多