0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PostgreSql ログ出力設定

Last updated at Posted at 2024-10-19

ログは、障害調査や状態確認に必要な情報です。
ただ、やみくもに保存すると容量がひっ迫したりリソースを消費するのでバランスが大事です。
以下は、私の基本設定例です

利用環境

MiracleLiux 9.2
PostgreSql 13
データディレクトリ:/var/lib/pgsql/data

OS側の事前作業:/var/log配下にディレクトリ準備

postgresqlのデータディレクトリとOSの/var/log配下の両方から参照できると便利です。
ディレクt理

・ディレクトリ作成、権限付与

mkdir /var/log/psql
chmod 777 /var/log/psql

・シンボリックリンク作成

 ln -s /var/log/psql /var/lib/pgsql/data/log

postgresql.confの設定

編集時の注意

・バックアップは取得しておきましょう
 誤った場合に元にもどせるように!
・変更する場合は
 元の値を残し、改行して記述するほうが良いです
そうすると、既定値がわかるのでもとに戻す時や既定値が不明な場合に困りません。

logging_collector

ログ出力可否です。
既定でonのため修正不要です。

logging_collector = on

log_destination

ログ出力方法です。インストール環境により違いがあるようです。
syslogの場合、OS側に出力されます。※ジャーナルログ
stderrは、data/logに出力されるので、stderrを推奨。

log_destination = 'stderr'

ログ出力先

作成したディレクトリを指定します

log_directory = '/var/log/psql'

log_file_mode

ログファイルのパーミッションです。
通常だとpostgresユーザ限定になりますので他のユーザも閲覧できるようにします。
※利用環境やセキュリティ要件によって判断が必要。

log_file_mode = 0644

log_filename

ログファイル名
改廃しないなら固定するほうが良いのですが、ログが肥大化するので1か月くらいがよいでしょう。
%dは日付です。

log_filename = 'postgresql-%d.log'

log_rotation_age

ローテート周期です
既定で1日になっていると思います。

log_rotation_age = 1d

log_connections

認証時のログです
セキュリティ上、認証時のログは取得したほうがよいです

log_connections = on

log_disconnections

切断時のログです。こちらも取得しましょう

log_disconnections = on

log_line_prefix

ログ出力内容です。既定値は情報が少ないので追加しましょう

log_line_prefix = '[%t]%u %d %p[%l]'

%t 時間
%u ユーザ
%d データベース名
%p プロセスID
%l セッションラインNo

log_min_duration_statement

SQL遅延時の出力時間です
利用環境により設定しましょう
単位はミリ秒です

log_min_duration_statement = 30000

編集完了後

サービスを再起動して動作確認しましょう。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?