LoginSignup
0
0

サーバー設定のパラメータ操作方法の種類

  • 設定ファイルによるパラメータ操作
  • SQLを通じたパラメータ操作
  • シェルによるパラメータ操作

設定ファイルによるパラメータ操作とは

 (通常 data ディレクトリに格納されている)postgresql.conf ファイル上に、パラメータを指定する方法。

 20.1.2. 設定ファイルによるパラメータ操作
内のサンプル:

# This is a comment
log_connections = yes
log_destination = 'syslog'
search_path = '"$user", public'
shared_buffers = 128MB

 postgresql.auto.confファイルは、postgresql.confの設定を上書き(優先)する。
 ALTER SYSTEMコマンドによるパラメータ設定されると、postgresql.auto.confファイルに反映され、次回サーバー起動時にもpostgresql.auto.confファイルから読み込まれてパラメータ反映される。
 postgresql.auto.confファイルを直接修正してはならない
 サーバー稼働中に、postgresql.confファイルやpostgresql.auto.confファイルを変更しても反映されない。

 20.1.5. 設定ファイルの内容の管理に依ると、《複雑なpostgresql.confファイルを複数の小さなファイルに分割する複数の方法を提供》しており、includeディレクティブとinclude_dirディレクティブが使える模様。

SQLを通じたパラメータ操作とは

  • ALTER SYSTEMコマンドによる、データベースクラスタ全体にわたるサーバの設定パラメータを変更
  • ALTER DATABASEコマンドによる、データベース単位でグローバルな設定値を上書き
  • ALTER ROLEコマンドによる、グローバルとデータベース単位の両方をユーザ固有の設定値で上書き

 セッションローカルな設定変更方法として下記2つ。

  • SHOWコマンド、もしくはcurrent_setting()関数
  • SETコマンド、もしくはset_config()関数
  • システムビューのpg_settingsを介して、セッションローカルな値を参照したり変更することも可能

 SETコマンドによる一時的な設定変更を永続化させるために、ALTER SYSTEMコマンドを使う。

シェルによるパラメータ操作とは

  • サーバ起動時に、-cコマンドラインパラメータを使ってパラメータ設定値をpostgresに渡す方法
  • libpqを使ってクライアントセッションを開始するプログラムやツール(psqlとか)の場合、PGOPTIONS環境変数でパラメータ設定値を渡すことも可能

 コマンドラインパラメータで渡されるパラメータ設定値は、postgresql.confやALTER SYSTEMコマンドによるパラメータ保存を上書きする。

参考

 PostgreSQL 16.0文書 より

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