Назад к вопросам
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 и разработчикам мониторить и оптимизировать нагрузку на базу данных.