Я бегу Postgresql 9.1
на Ubuntu. Точная версия Postgresql, 9.1+129ubuntu1
как показывает мой менеджер пакетов.
У меня есть 2 базы данных, которые активно используются, и они используются с удаленного сервера.
Я хочу регистрировать запросы, которые имеют длительное время выполнения. Поэтому я установил следующие параметры в /etc/postgresql/9.1/main/postgresql.conf
файле
log_min_duration_statement = 10000
log_statement = 'mod'
поэтому Postgresql будет регистрировать запросы, которые занимают более 10 секунд.
Но когда я reload
настраиваю postgres, Postgresql начинает регистрировать каждый запрос, который соответствует log_statement
значению. Чтобы я установил длительность 100 секунд, чтобы быть уверенным
log_min_duration_statement = 100000
Но Postgresql продолжает регистрировать каждый запрос, который соответствует log_statement
значению, независимо от log_min_duration_statement
значения.
Установка log_statement
для , none
казалось , чтобы остановить регистрацию.
Есть что-то, что я пропустил в конфигурации?
источник
log_statement
такlog_min_duration_statement
должно работать?SELECT
,UPDATE
или какой - либо DDL), то да.Ответы:
Вы были близки Ваша последняя идея на самом деле путь:
Тогда никакие операторы не будут регистрироваться, кроме тех, которые выполняются дольше 10 секунд, включая саму строку запроса. Регистрация, возможно, остановилась, потому что 10 секунд - это высокий порог. Я использую 2 секунды нормально, но YMMV.
Этот связанный ответ на SO имеет больше:
Не удается заставить log_min_duration_statement работать
источник
log_statement
isnone
, поэтому не установка его или установкаnone
имеет тот же эффект.