我正在尝试为postgres设置一些自定义监控,我希望看到的一个指标是pg_stat_user_indexes
的索引使用情况。我有多个数据库,每个数据库都有索引,我想要一个metrics
角色可以访问所有数据库。
问题是当我select * from pg_stat_user_indexes
使用metrics
角色时,我看不到任何结果。但是,如果我选择单独的数据库角色,我会看到统计数据。
metrics
角色是Bypass RLS的超级用户。我试着查看pg_stat_all_indexes
,但我只能看到pg_*
个内容。
答案 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视图 包含相同的信息,但过滤只显示用户和 系统索引。
强调我的