LoginSignup
6
16

More than 5 years have passed since last update.

PostgreSQL で最低限設定しておくべきログ関連パラメータ+α

Last updated at Posted at 2018-07-02

PostgreSQL のログ設定について、基本的に以下を参照すれば良いです。

データベースサポート最前線の現場から(8):
【PostgreSQL】最低限設定しておくべきログ関連パラメータ3選 (1/3)
http://www.atmarkit.co.jp/ait/articles/1702/16/news015.html

postgresql.conf の設定

postgresql.conf に以下を設定します。

logging_collector=on
log_line_prefix='[%t]%u %d %p[%l]'
log_min_duration_statement=5000

それプラスアルファで以下の設定もあると大変便利です。

log_directory = '/var/log/postgresql'
log_filename = 'postgresql.log'
log_file_mode = 0640
log_truncate_on_rotation = off

ログディレクトリの準備

Linux ディストリビューションによってログの場所がまちまちで、場合によっては postgres ユーザーにスイッチしないと参照できない場所にあったりします。

ログファイルは一律 /var/log/app_name 配下にまとめて adm グループなら参照できるとかにしておいたほうが管理がラクです。

あらかじめ以下のようにディレクトリも用意しておきます。

sudo mkdir -p /var/log/postgresql
sudo chown -R postgres:adm /var/log/postgresql
sudo chmod 750 /var/log/postgresql

ログローテーションの設定

最後にログローテーションの設定をする。

これも PostgreSQL 側は同じファイルに出力するようにしておいて OS の logrotate で制御するほうが他と一緒に管理しやすいのでオススメです。

ファイル /etc/logrotate.d/postgresql を作成し以下のとおり設定します。

/var/log/postgresql/*.log {
  daily
  compress
  delaycompress
  notifempty
  copytruncate
  missingok
  create 0640 postgres adm
  rotate 30
}

以上です。

6
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
16