Много логики в моем приложении находится внутри хранимых процедур plpgsql. В результате один вызов может занять секунды или даже минуты. Это прекрасно, но я хочу использовать log_min_duration_statement = 250ms
для всех других операторов для отслеживания длинных запросов. Можно ли настроить Postgres так, чтобы длинные вызовы хранимых процедур не регистрировались вообще?Postgres: Как отключить ведение журнала длинных вызовов хранимых процедур?
я придумал вручную отключить ведение журнала для каждого сеанса, вызовы хранимых процедур с
SELECT set_config('log_min_duration_statement', '-1', false)
К сожалению, это означает, что мое приложение требует суперпользователя роль, и я хотел бы избежать.
это неизбежно. если бы суперпользователь не мог изменить этот параметр, они могли бы запускать длинные «хакерские» запросы, а суперпользователь не заметил бы его в журналах. Вместо этого, возможно, вы хотите trry расширение 'pg_stat_statements'? .. гораздо проще просмотреть его, запросив ... –
Я имел в виду, что вы можете' select * из pg_stat_statements где query! = 'WANTED TO BE AVOIDED'' –
Хорошая идея! Благодарю. –