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コマンドで上書きされない限りセッションの完了まで保たれます。