Как найти медленный запрос в PostgreSQL

Python Senior Без компании
Как найти медленный запрос в PostgreSQL
Ответы
Для поиска медленных запросов в PostgreSQL можно использовать несколько подходов: - **pg_stat_statements** - расширение для сбора статистики по запросам: ``` CREATE EXTENSION pg_stat_statements; SELECT query, total_time, calls, mean_time FROM pg_stat_statements ORDER BY mean_time DESC LIMIT 10; ``` - **Логирование медленных запросов** (в postgresql.conf): ``` log_min_duration_statement = 1000 # логировать запросы дольше 1 секунды ``` - **EXPLAIN ANALYZE** для анализа конкретного запроса: ``` EXPLAIN ANALYZE SELECT * FROM large_table WHERE condition; ``` - **pgBadger** - инструмент для анализа логов PostgreSQL, который помогает выявлять проблемные запросы. Для эффективного анализа стоит обращать внимание на: - Время выполнения (total_time) - Количество вызовов (calls) - Пропорциональное время (mean_time) - Планы выполнения (EXPLAIN)