Получи случайную криптовалюту за регистрацию!

​​ Логирование медленных запросов в PostgreSQL. Медленные за | Postgres Guru | Базы данных

​​ Логирование медленных запросов в PostgreSQL.

Медленные запросы - это несомненное зло как для базы данных так и для админа. Пользователи нервничают, а таблицы в базе распухают, так как в них не может прийти autovacuum пока они заняты запросом.

По этому надо уметь такие запросы отлавливать и устранять причину медленного выполнения.

Начнем с отлова таких запросов. Здесь нам пригодиться параметр PostgreSQL log_min_duration_statement.

Этот параметр позволяет записать в лог PostgreSQL любой запрос, который выполнялся больше заданного времени.

Для разнообразия давайте установим этот параметр через psql, а не прямым редактированием файла postgresql.conf:

ALTER DATABASE имя_базы SET log_min_duration_statement = 'время_выполнения_запроса';

Установленные таким образом параметры PostgreSQL попадают в файл postgresql.auto.conf

После этой настройки все запросы, выполняющиеся дольше время_выполнения_запроса будут попадать в лог PostgreSQL и вы сможете с ними разобраться

#pgsettings