タイプ: string
デフォルト: stderr
コンテキスト: sighup
再起動: false

PostgreSQLは、stderrcsvlogおよびsyslogを含めて、サーバメッセージのログ取得に対し数種類の方法を提供します。Windowsでは、eventlogも同時に提供します。このパラメータを設定するには、コンマ区切りでお好みのログ出力先を記載します。デフォルトでは、ログはstderrのみに出力されます。このパラメータはpostgresql.confファイル、または、サーバのコマンドラインでのみ設定されます。

csvloglog_destinationに含まれる場合、ログ項目はプログラムへの読み込みが簡便なカンマ区切り値書式(CSV)で出力されます。詳細はruntime-config-logging-csvlogを参照してください。CSV書式のログ出力を生成するためにはlogging_collectorを有効にする必要があります。

stderrあるいはcsvlogが含まれる場合、ログ収集機構が使用しているログファイルの場所と、その出力先を記録するcurrent_logfilesが作られます。これにより、現在のインスタンスが使っているログを簡単に見つけることができます。このファイルの内容の例を示します。stderr log/postgresql.logcsvlog log/postgresql.csvログローテーションの効果で新しいログファイルが作られると、current_logfilesは再作成され、log_destinationは再ロードされます。このファイルは、stderrcsvloglog_destinationに含まれなくなり、かつログ収集機構が無効になったときに削除されます。

log_destinationsyslogオプションを使用できるようにするために、ほとんどのUnixシステムではシステムのsyslogデーモンの設定を変更しなければならないでしょう。PostgreSQLではログをLOCAL0からLOCAL7までのsyslogファシリティで記録することができます(syslog_facilityを参照してください)。しかし、ほとんどのプラットフォームのデフォルトのsyslog設定ではこれらのメッセージはすべて破棄されます。うまく動作させるためにsyslogデーモンの設定に以下のようなものを追加しなければならないでしょう。local0.* /var/log/postgresql

Windowsでlog_destinationに対しeventlogオプションを使用する場合、Windows Event Viewer がイベントログメッセージを手際良く表示できるよう、オペレーティングシステムでイベントソースとそのライブラリを登録しなければなりません。 詳細はevent-log-registrationを参照ください。

推奨事項 [EN]

Your choice of log destination depends on your system administration plans and the status of your server. “syslog” or “eventlog” (Windows) are good choices for most development servers, because they can support centralized log monitors. For development and testing, however, “csvlog” is probably the most useful, as it allows you to run queries against the log contents.

件のコメント