Sobes.tech
Назад к вопросам
Senior
3

Что можно увидеть в pg_stat_statements? Что там хранится по запросам?

Компании, где спрашивали
ТБанк

Ответ от нейросети

sobes.tech AI

pg_stat_statements — это расширение PostgreSQL, которое собирает статистику по выполненным SQL-запросам.

В этой системной таблице хранятся агрегированные данные по каждому уникальному запросу (нормализованному, с заменёнными параметрами), включая:

  • Количество вызовов (calls)
  • Общее время выполнения (total_time)
  • Среднее время выполнения (mean_time)
  • Минимальное и максимальное время выполнения
  • Количество блокировок
  • Количество возвращённых строк
  • Количество ошибок
  • План выполнения (в некоторых версиях)

Это позволяет анализировать производительность запросов, выявлять "тяжёлые" или часто вызываемые запросы, оптимизировать их.

Пример запроса для просмотра самых медленных запросов:

SELECT query, calls, total_time, mean_time
FROM pg_stat_statements
ORDER BY total_time DESC
LIMIT 10;

Таким образом, pg_stat_statements помогает DBA и разработчикам мониторить и оптимизировать нагрузку на базу данных.