Tihiroのストレスフリーな生活

少しだけ頭使って後は根性

PostgreSQLのパラメータを変更する。

PostgreSQLの話です。

パラメータを変更する方法

  1. postgresql.confを変更する。
  2. ALTER SYSTEM SET コマンドで変更する。
  3. SET コマンドで変更する。

の3通りでしょうか。

1のpostgresql.confの変更と、ALTER SYSTEM SET コマンドの変更では永続的に変更されます。

が、変更が適用されるには、PostgreSQLのrestartまたはreloadが必要です。

パラメータ変更後、pg_settings.pending_restartを確認することで、restartが必要か、reloadでOKかが分かります。便利ですね。

パラメータを変更したけど、セッションを閉じたらパラメータが元に戻る!

それは3のSETコマンドで変更したからでしょうか。

SETコマンドは該当セッション内でのみ有効となります。SET LOCALだと該当トランザクションのみ有効な感じらしいです。

postgresql.confで設定したのに反映されない!

restartまたはreloadを忘れている可能性があります。

それでもダメなら、postgresql.auto.confを確認してください。ALTER SYSTEM SET コマンドで変更したものはpostgresql.auto.confに書き込まれ、それはpostgresql.confよりも優先されます。

まとめ

とりあえず設定変更したつもりがされていませんでした、っていうのはダメダメですので再確認は忘れずにしたいものです。