| タイプ: | 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.
