#postgresql #heroku #logging
#postgresql #heroku #ведение журнала
Вопрос:
У нас есть PostgreSQL DB на Heroku, без предупреждения несколько дней назад он начал регистрировать все изменения данных, как если log_statement
бы был установлен параметр mod
, который оказывает огромное влияние на производительность, когда мы выполняем наши ночные пакетные обновления.
Я проверил настройки в БД через pg_settings
представление и с помощью командной строки Heroku, и в нем очень четко указано log_statement
, что для параметра установлено значение ddl
.
Мы не вносили никаких изменений в базу данных или ее настройки. Кто-нибудь знает, почему это может происходить и как мы можем сбросить уровень журнала?
Комментарии:
1. Выполняли ли вы проверку настроек при входе в ту же базу данных, что и тот же пользователь, у которого возникла проблема?
2. Спасибо @jjanes, да, Heroku предоставляет единый набор учетных данных для своих баз данных, которые используют наши сервисы. Я использовал их для входа в систему и проверки настроек. Я только что сделал это снова и запустил
SHOW log_statement;
, который возвращаетddl
3. Я думаю, мы разобрались с этим с помощью службы поддержки Heroku. Значение
log_min_duration_statement
было установлено на 2000 мс, триггер в таблице приводит к тому, что некоторые операторы занимают немного больше этого времени. Все тысячи последующих строк журнала в одном пакете обрабатывались как часть одного и того же оператора «long» duration и регистрировались. Увеличение продолжительности настройки решило проблему.