使用超级用户

时间:2017-10-11 17:43:40

标签: postgresql

我正在尝试为postgres设置一些自定义监控,我希望看到的一个指标是pg_stat_user_indexes的索引使用情况。我有多个数据库,每个数据库都有索引,我想要一个metrics角色可以访问所有数据库。

问题是当我select * from pg_stat_user_indexes使用metrics角色时,我看不到任何结果。但是,如果我选择单独的数据库角色,我会看到统计数据。

metrics角色是Bypass RLS的超级用户。我试着查看pg_stat_all_indexes,但我只能看到pg_*个内容。

2 个答案:

答案 0 :(得分:0)

似乎您需要连接到要监视的特定数据库(而不是postgres db)才能查看这些统计信息。

奇怪..至少应该在pg_stat_all_indexes中看到它们全部 - 它应该被命名为pg_stat_all_indexes_for_current_database_plus_pg_catalog - 我知道..但pg_stat_all_indexes根本不是所有索引。

答案 1 :(得分:0)

https://www.postgresql.org/docs/current/static/monitoring-stats.html#pg-stat-all-indexes-view

  

pg_stat_all_indexes 视图将为每个索引包含一行   当前数据库,显示有关访问的统计信息   具体指数。 pg_stat_user_indexes和pg_stat_sys_indexes视图   包含相同的信息,但过滤只显示用户和   系统索引。

强调我的