タイプ: | enum |
デフォルト: | none |
コンテキスト: | superuser |
再起動: | false |
値: | [none, ddl, mod, all] |
どのSQL文をログに記録するかを制御します。有効な値は、none
(off)、ddl
、mod
、およびall
(全てのメッセージ)です。ddl
は、CREATE
、ALTER
、およびDROP
文といった、データ定義文を全てログに記録します。mod
は、全てのddl
文に加え、INSERT
、UPDATE
、DELETE
、TRUNCATE
、およびCOPY FROM
といった、データ変更文をログに記録します。PREPARE
とEXPLAIN ANALYZE
コマンドも、そこに含まれるコマンドが適切な種類であればログが録られます。拡張問い合わせプロトコルを使用するクライアントでは、Executeメッセージを受け取った時にBindパラメータの値が(すべての単一引用符が二重にされた状態で)含まれていた場合、ログに記録されます。
デフォルトはnone
です。スーパーユーザのみこの設定を変更できます。
ログメッセージの発行は、基本解析により文の種類が決まった後に行われますので、log_statement
= all
という設定を行ったとしても、単純な構文エラーを持つ文は記録されません。拡張問い合わせプロトコルの場合も同様に、この設定ではExecute段階以前(つまり、解析や計画作成期間)に失敗した文は記録されません。こうした文のログを記録するには、log_min_error_statementをERROR
(以下)に設定してください。
推奨事項 [EN]
For exhaustive performance analysis on test systems, set to 'all'. Most production setups will just want to use 'ddl' to make sure to record database-altering actions, but very secure setups may want to use 'mod' or even 'all'. Can produce a lot of log volume.
On StackOverflow
On pgsql-hackers
- BUG: Former primary node might stuck when started as a standby
- Re: filesystem full during vacuum - space recovery issues
- Add TAP tests for backtrace functionality (was Re: Add test module for verifying backtrace functionality)
- Add a warning message when using unencrypted passwords
- Re: Parallel Aggregates for string_agg and array_agg