Статистика Postgres - pg_stat_get_db_xact_commit - PullRequest
0 голосов
/ 15 сентября 2010

Кто-нибудь из вас понимает, что внутренне делает pg_stat_get_db_xact_commit?Даже когда приложение бездействует и запросы к БД не отправляются, количество постоянно увеличивается.Есть идеи, что может происходить на заднем плане?

1 Ответ

1 голос
/ 15 сентября 2010

Какую версию PostgreSQL вы используете?Тестирование на простаивающей установке 8.4.4 не меняется даже после повторных звонков.Я предполагаю, что вы используете версию до 8.3, в которой команды только для чтения генерировали идентификаторы транзакций.

Из примечаний к выпуску Postgres 8.3:

Использование непостоянных идентификаторов транзакцийдля транзакций только для чтения уменьшает накладные расходы и требования VACUUM (Florian Pflug)

Непостоянные идентификаторы транзакций не увеличивают глобальный счетчик транзакций.Таким образом, они уменьшают нагрузку на pg_clog и увеличивают время между принудительными пылесосами, чтобы предотвратить обход идентификатора транзакции.Также были сделаны другие улучшения производительности, которые должны улучшить параллелизм.

Итак, до 8.3 просто запустите "SELECT pg_stat_get_db_xact_commit (oid);"увеличит счетчик, вызывая другой результат при следующем SELECT, даже если больше ничего не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...