Postgresql ログの種類と役割

1.サーバーログ(PostgreSQLログ)
目的: データベースサーバの動作状況、SQL実行、エラーなどを記録
出力先: postgresql.conf の設定で制御(ファイル、syslog、journaldなど)

    ログの種類役割主な設定項目
    エラーログ起動・停止、エラー、警告などlog_min_messages
    接続ログクライアントの接続・切断log_connections, log_disconnections
    チェックポイントログチェックポイント処理の実施状況log_checkpoints
    オートVACUUMログautovacuum(不要な領域を解放)が実行された記録log_autovacuum_min_duration
    スロークエリログ実行に時間がかかったSQLlog_min_duration_statement
    全SQLログ実行されたすべてのSQLlog_statement
    統計ログクエリ統計や計画情報log_statement_stats, log_parser_statsなど(デバッグ用途)
    ログの出力場場所
    log_destination = 'stderr' # 出力先 (stderr, csvlog, syslog, eventlogなど)
    logging_collector = on # ファイルへの収集を有効化
    log_directory = 'log' # 出力ディレクトリ
    log_filename = 'postgresql-%Y-%m-%d.log'

    2.WALログ(Write-Ahead Log)
    目的: トランザクションの整合性維持(障害時リカバリに使用)
    場所: pg_wal ディレクトリ(旧名 pg_xlog)
    ・データ変更を実ファイルへ書く前に WAL に追記する(先行書き込み)
    ・クラッシュ後、WALを再生して整合性を回復(クラッシュリカバリ)
    ・バックアップ・レプリケーションでも利用(WALアーカイブ)

    設定役割
    wal_level生成するWALの詳細度(minimal / replica / logical
    archive_mode / archive_commandWALアーカイブ有効化と転送コマンド
    wal_keep_sizeストリーミングレプリケーション用に保持するサイズ
    max_wal_size, min_wal_sizeWALファイル管理の上限・下限

    3.統計ログ
    目的: サーバ・テーブル・SQLなどの統計情報を収集して管理・分析に利用

    種類内容View
    アクティビティ統計セッションの実行状態pg_stat_activity
    テーブル統計SELECT/INSERT/UPDATE/DELETE回数などpg_stat_user_tables
    インデックス統計利用回数などpg_stat_user_indexes
    関数統計関数呼び出し回数・時間pg_stat_user_functions
    種類目的ログの保存場所主用途
    サーバーログ運用・障害解析$PGDATA/log/エラーやSQL解析
    WALログリカバリ・レプリケーション$PGDATA/pg_wal/障害復旧・レプリカ同期
    統計ログ性能監視・調整システムカタログ(pg_stat_*チューニング・監視

    ご参考まで

    関連記事

    TOP