Мне нужно следить за активностью пользователей в наших базах. Я установил следующие параметры в postgresql.conf
:
log_min_duration_statement = 0
log_connections = on
log_disconnections = on
log_line_prefix = '%t %a %d %h %u |'
Однако я понимаю, что большинство файлов журнала заполнены инструкциями, выполняемыми postgres
пользователем, которые используются сценариями, которые я написал для задач обслуживания: пересчитать материализованные представления, pg_dump, pg_restore, извлечь представления в виде табличных файлов и т. Д. Результат ежедневно файлы журналов размером более 12 Мб.
Есть ли способ исключить активность определенных пользователей из журнала?
postgresql
log
Себастьян Климент
источник
источник
ALTER USER ... SET log_connections = off
и т. Д.dezso
(суперпользователь), я всегда получаюERROR: parameter "log_connections" cannot be set after connection start
при попыткеALTER ROLE bob SET log_connections = off
Ответы:
Используя
ALTER ROLE ... SET parameter;
команду, можно было настроить параметры журнала, специфичные для пользователя. Обратите внимание, что параметр вступает в силу только после выхода из системы.Установка log_min_duration_statement = -1 (первый вход в систему):
PSQL консоль
Результат в журнале:
Обратите внимание, что в этом сеансе все операторы видны в журнале даже после установки log_min_duration_statement = -1.
Видя эффект log_min_duration_statement (2-й вход):
PSQL консоль
Результат в журнале:
Как и ожидалось, ни одно из утверждений не вошли.
источник