再起動待ちのパラメータと構成ファイルのエラーを表示
PostgreSQLパラメータコマンド
-- Parameters changed but not effective until a restart
SELECT name, setting, unit, context, source, sourcefile, pending_restart
FROM pg_settings
WHERE pending_restart;
-- Lines in configuration files that were not applied or have errors
SELECT sourcefile, sourceline, seqno, name, setting, applied, error
FROM pg_file_settings
WHERE NOT applied OR error IS NOT NULL
ORDER BY sourcefile, sourceline;
-- Where does a parameter's effective value come from?
SELECT name, setting, source, sourcefile, sourceline
FROM pg_settings
WHERE name = 'work_mem';概要
ファイルで変更されたが再起動を待っているパラメータ、適用されなかったかエラーのある構成ファイルの行、パラメータの有効値がどのファイル/行から来ているかを表示する。
使用する場面
ALTER SYSTEMまたはpostgresql.confの変更後にリロードが期待どおりの効果をもたらしたかの確認、計画的な再起動前の保留中の変更の一覧表示に。
注意
pg_file_settingsは現在のファイルの内容を読み取る。パラメータが複数箇所で定義されている場合、applied = trueになるのは最後のもののみ(postgresql.auto.confは最後に読み込まれるため、ALTER SYSTEMが常に優先される)。applied = falseでerrorが空の行は、別の定義に隠されているだけでエラーではない。再起動が必要なパラメータにはerror 'setting could not be applied'が表示される。誤りのあるファイルはリロード時に部分的に適用される場合がある。変更後はpg_reload_conf()を実行し、これらのクエリとサーバーログを確認する。postgresql.auto.confを手動で編集しない。ALTER SYSTEM RESETを使用する。