Мы используем расширение временных рядов Адаптер хранения Prometheus вместе с Postgres для хранения данных Prometheus в Postgres.
У нас есть экспортер Prometheus для экспорта метрик Postgres.И он пытается получить количество операций чтения / записи в БД.Поскольку значения не отображаются, я сделал следующее.
postgres=# select * from pg_stat_database;
datid | datname | numbackends | xact_commit | xact_rollback | blks_read | blks_hit | tup_returned | tup_fetched | tup_inserted | tup_updated | tup_deleted | conflicts | temp_files | temp_bytes | deadlocks | blk_read_time | blk_write_time | stats_reset
-------+-----------+-------------+-------------+---------------+-----------+----------+--------------+-------------+--------------+-------------+-------------+-----------+------------+------------+-----------+---------------+----------------+-------------
1 | template1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
12291 | template0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
12292 | postgres | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
(3 rows)
В частности, такие вещи, как tup_fetched, tup_inserted и т. Д., Показывают нулевые значения в базе данных 'postgres'.
Но я использовал следующий запрос, чтобы найти текущие запросы в БД.
postgres=# select pg_stat_activity.datname, pg_stat_activity.usename, pg_stat_activity.query from pg_stat_activity;
datname | usename | query
----------+-------------------+-----------------------------------------------------------------------------------------------------------
| postgres |
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
postgres | psqladmin | select * from pg_stat_database;
postgres | postgres_exporter | SELECT * FROM pg_stat_database;
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
postgres | postgres | select pg_stat_activity.datname, pg_stat_activity.usename, pg_stat_activity.query from pg_stat_activity;
postgres | psqladmin | COMMIT
postgres | psqladmin | COMMIT
| |
| |
| |
(16 rows)
К сожалению, я не мог видеть ни слова ЗАПИСЬ, скажем, но COMMIT, как вы можете видеть.Я полагаю, это вставки?Но в любом случае мы можем увидеть некоторые запросы выбора.Так почему бы не tup_fetched или tup_returned ненулевой?
Кто-нибудь сталкивался с этой ситуацией.Есть идеи по решению этой проблемы?