アプリケーションや運用操作で発生したエラーを監視したり、原因の追跡を行いやすくするための設定について説明します。
エラーログの設定は、initdbコマンドでインスタンスを作成した場合だけ行ってください。
WebAdminでインスタンスを作成した場合は、すでにエラーログの設定が行われているため、設定する必要はありません。
また、一部のパラメータはWebAdminが使用しているため、変更するとWebAdminが正しく動作しません。詳細は、“付録D 設定パラメータ”を参照してください。
注意
システムログは、他のインスタンスの管理者に参照されないよう、必要に応じてサーバログに出力先を設定してください。
アプリケーションのエラーは、システムログやサーバログに出力されます。システムログやサーバログの出力先のディレクトリには、インスタンス管理者以外の人に参照されないよう、アクセス権限を設定してください。
postgresql.confの以下のパラメータを編集してください。
パラメータ名 | パラメータの意味 | 設定を有効にする方法 |
---|---|---|
syslog_ident | 複数のインスタンスを利用する場合に、システムログに出力するメッセージを識別するために、メッセージにつけるラベルを指定します。 | pg_ctlコマンドのreloadモード |
logging_collector | インスタンスが出力するメッセージをサーバログファイルに出力するように、“on”を指定します。サーバログファイルは、データベースクラスタ内のlogディレクトリの下に作成されます。 | pg_ctlコマンドのrestartモード |
log_destination | インスタンスが出力するメッセージを、画面とシステムログに出力するように、“stderr,syslog”を指定します。 | pg_ctlコマンドのreloadモード |
log_line_prefix | インスタンスが出力するメッセージの先頭につける情報を指定します。これらの情報はメッセージの自動監視に便利です。 SQLSTATE値、出力時刻、実行したホスト、アプリケーション名、ユーザーIDを出力することができます。 詳細は、“PostgreSQL Documentation”の“What To Log”を参照してください。 例)log_line_prefix = '%e: %t [%p]: [%l-1] user = %u,db = %d,remote = %r app = %a ' | pg_ctlコマンドのreloadモード |
ポイント
システムログに出力されるアプリケーションのエラーを少なくするためには、 “PostgreSQL Documentation”の“When To Log”および“What To Log”を参照して、出力するメッセージの内容が少なくなるように設定してください。
エラーを、他のソフトウェアと分けて出力するためには、“PostgreSQL Documentation”の“Where To Log”を参照し、システムログではなくサーバログファイルに出力を行うように設定してください。