pg_settingsビューはサーバの実行時パラメータにアクセスすることを提供します。基本的にSHOWとSETコマンドの代わりとなるインタフェースです。同時に最大・最小値などのようにSHOWコマンドでは直接入手できないそれぞれのパラメータのいくつかの実状にアクセスする機能を提供します。
表 44-54. pg_settingsの列
名前 | 型 | 説明 |
---|---|---|
name | text | ランタイムコンフィギュレーションパラメータ名 |
setting | text | パラメータの現在値 |
unit | text | 暗黙的なパラメータの単位 |
category | text | パラメータの論理グループ |
short_desc | text | パラメータの簡潔な記述 |
extra_desc | text | 追加で、より詳細なパラメータについての記述 |
context | text | パラメータ値を設定するための文脈 |
vartype | text | パラメータ型(bool, enum, integer, real, もしくはstring) |
source | text | 現在のパラメータ値のソース |
min_val | text | 容認されている最小のパラメータ値(数値でない場合はNULL) |
max_val | text | 容認されている最大のパラメータ値(数値でない場合はNULL) |
enumvals | text[] | 許可された列挙パラメータの値(列挙型ではない場合はNULL) |
boot_val | text | もしパラメータがセットされていないときの、サーバ起動時のパラメータ値 |
reset_val | text | 現状のセッションにおけるRESETがパラメータをリセットするであろう値 |
sourcefile | text | 現状の値が設定されている設定ファイル(設定ファイル以外のソースから設定された値とスーパユーザ以外から検査された時はNULLとなります。) 指示子を含んでいる設定ファイルを使用する時に役に立ちます。 |
sourceline | integer | 現状の値が設定されている設定ファイル内の行番号(設定ファイル以外のソースから設定された値とスーパユーザ以外から検査された時はNULLとなります。) |
pg_settingsビューには挿入も削除もできませんが更新することは可能です。 pg_settings行に適用されるUPDATEは名前付きのパラメータに対してSETコマンドを実行することと同値です。変更は現在のセッションで使用されている値にのみ有効です。もしも後に中止されるトランザクション内でUPDATEが発行されると、トランザクションがロールバックされた時点でUPDATEコマンドは効力を失います。排他制御中のトランザクションがひとたびコミットされると、その効果は他のUPDATEもしくはSETコマンドで上書きされない限りセッションの完了まで保たれます。