Тип: | enum |
По умолчанию: | none |
Контекст: | superuser |
Перезапуск: | false |
Значения: | [none, ddl, mod, all] |
Управляет тем, какие SQL-команды записывать в журнал. Допустимые значения: none
(отключено), ddl
, mod
и all
(все команды). ddl
записывает все команды определения данных, такие как CREATE, ALTER, DROP. mod
записывает все команды ddl
, а также команды изменяющие данные, такие как INSERT, UPDATE, DELETE, TRUNCATE и COPY FROM. PREPARE, EXECUTE и EXPLAIN ANALYZE также записываются, если вызваны для команды соответствующего типа. Если клиент использует расширенный протокол запросов, то запись происходит на фазе выполнения и содержит значения всех связанных переменных (если есть символы одиночных кавычек, то они удваиваются).
По умолчанию none
. Только суперпользователи могут изменить этот параметр.
Команды с синтаксическими ошибками не записываются, даже если log_statement
= all
, так как сообщение формируется только после выполнения предварительного разбора, определяющего тип команды. При расширенном протоколе запросов, похожим образом не будут записываться команды, неуспешно завершившиеся до фазы выполнения (например, при разборе или построении плана запроса). Для включения в журнал таких команд установите log_min_error_statement в ERROR
(или ниже).
Рекомендации [EN]
На StackOverflow
На pgsql-hackers
- Re: Test to dump and restore objects left behind by regression
- Re: Bypassing cursors in postgres_fdw to enable parallel plans
- [PATCH] Add log_transaction setting
- Unable to Recover a Deleted Database Using PITR
- Re: Fix log_line_prefix to display the transaction id (%x) for statements not in a transaction block