トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


動作確認ディストリビューション

PostgreSQLのログ出力設定(Syslogへの出力)

ここではPostgreSQLのログをSyslogへ出力するための設定方法を説明します。

rootユーザーにてPostgreSQLの設定ファイル(postgresql.conf)を編集します。
※postgresql.confへのファイルパスは環境によって異なります。

$ su -
# vi /usr/local/pgsql/data/postgresql.conf

ログの出力先設定
※PostgreSQL7.x系の場合は「log_destination = 'syslog'」ではなく「syslog = 2」のように設定します。
#log_destination = 'stderr'
↓↓↓↓↓↓↓↓↓↓↓↓↓
log_destination = 'syslog'

Syslogのファシリティ設定(LOCAL0からLOCAL7の範囲で設定)
#syslog_facility = 'LOCAL0'
↓↓↓↓↓↓↓↓↓↓↓↓↓
syslog_facility = 'LOCAL6'

SyslogにPostgreSQLのログ出力であることを識別させるための設定
#syslog_ident = 'postgres'
↓↓↓↓↓↓↓↓↓↓↓↓↓
syslog_ident = 'postgres'

ログの出力レベルを設定(今回はwarning以上を出力対象として設定)
#log_min_messages = notice
↓↓↓↓↓↓↓↓↓↓↓↓↓
log_min_messages = warning

エラーとなったSQLをログ出力する際のログレベルを設定(今回はerror以上を出力対象として設定)
#log_min_error_statement = error
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
log_min_error_statement = error

rootユーザーにてSyslogの設定ファイル(syslog.conf)を編集します。

# vi /etc/syslog.conf

最下行に以下を追記
# Save posgresql log to postgresql.log
local6.*  /var/log/postgresql.log

Syslogの再起動

# service syslog restart

PostgreSQLの再起動

# service postgresql restart

ファイルの存在をチェックし、ログ出力が行われたことを確認

# ls -l /var/log/postgresql.log
-rw------- 1 root root 955  4月 21 21:51 /var/log/postgresql.log

Syslogのローテーション対象としてPostgreSQLのログも追加
※Syslog等の再起動は不要です。

# vi /etc/logrotate.d/syslog

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
↓↓↓↓↓↓↓↓↓↓↓↓↓
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/postgresql.log {
  • 関連書籍
    #amazon(477412687X,center,)#amazon(4844321080,center,)#amazon(4798123358,center,)#amazon(4873111021,center,)#amazon(4774122688,center,)

Last-modified: 2009-04-21 (火) 22:40:21 (3468d)