
Комментарии 7
Классная инструкция, спасибо!
Sequential Scan не вымывает кэш, а работает в буферном кольце.
Если pgbadger заменить на pg_stat_statements, то логи расти и замусориваться запросами не будут, а статистика станет точной. Вас будет интересовать топ по полю shared_blks_hit. Можно ещё добавить pg_profile для поиска аномалий. Сам подход правильный.
Спасибо за наводку. Пробовал использовать pg_stat_statements, но в итоге вернулся к логам и pgbadger.
Мне в работе оказалась полезна ретроспектива: например, если 1 января вышло обновление с багом, в агрегированной статистике pg_stat_statements я увижу только "среднюю температуру" за всё время. Логи же позволяют "отмотать пленку" назад и сравнить производительность по конкретным дням или неделям. Так же парсинг логов через pgbadger можно вынести на отдельный сервер.
Возможно, я просто еще не до конца раскрыл для себя потенциал pg_stat_statements, но для еженедельного аудита формат pgbadger мне показался нагляднее.
PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности