我必须收集一些关于 PostgreSQL 角色的信息。一条信息是角色是否具有与“通常”不同的设置,通常意味着这里只有几个参数的默认值(例如log_statement
)。
到目前为止,我只有一个想法:遍历所有用户并发出命令
\c postgres username
SHOW log_statement;
然后处理输出。
我想知道是否有类似的方法,例如查询pg_settings
视图,显示每个用户的设置?我不需要知道特定于会话的差异,只需要知道那些持续存在的差异。
我必须收集一些关于 PostgreSQL 角色的信息。一条信息是角色是否具有与“通常”不同的设置,通常意味着这里只有几个参数的默认值(例如log_statement
)。
到目前为止,我只有一个想法:遍历所有用户并发出命令
\c postgres username
SHOW log_statement;
然后处理输出。
我想知道是否有类似的方法,例如查询pg_settings
视图,显示每个用户的设置?我不需要知道特定于会话的差异,只需要知道那些持续存在的差异。
不幸的是
pg_shadow
,没有显示没有登录权限的角色。我发现在以下查询中使用 @dezso 提示视图更有用:
与往常一样,只需将其添加到 psqlrc 文件(请参阅 doc)
您可以通过查询 pg_catalog.pg_shadow或 pg_catalog.pg_user 来获取角色配置,如下所示:
--查询pg_shadow