すべてのプロダクト
Search
ドキュメントセンター

PolarDB:pg_settings

最終更新日:Jun 03, 2024

pg_settingsビューは、サーバーのランタイムパラメーターへのアクセスを提供します。

概要

pg_settingsビューは、基本的にSHOWおよびSETコマンドの代替インターフェイスです。 また、最小値や最大値など、SHOWから直接利用できない各パラメーターに関するいくつかの事実にアクセスできます。

pg_settingsビューには、次の列があります。

列名

データ型

説明

name

text

ランタイム設定パラメーターの名前。

設定

text

パラメーターの現在の値。

unit

text

パラメーターの暗黙の単位。

カテゴリ

text

パラメーターの論理グループ。

short_desc

text

パラメータの短い説明。

extra_desc

text

パラメータのより詳細な説明。

context

text

パラメーター値の設定に必要なコンテキスト。

vartype

text

パラメータータイプ。 有効な値: boolenumintegerrealstring

source

text

現在のパラメータ値のソース。

min_val

text

パラメーターの最小許容値。 非数値の場合、この値は空です。

max_val

text

パラメーターの最大許容値。 非数値の場合、この値は空です。

enumvals

text[]

列挙パラメーターに許可される値。 非数値の場合、この値は空です。

boot_val

text

パラメーターが後で変更されない場合にサーバーの起動時に割り当てられるパラメーター値。

reset_val

text

RESETが現在のセッションでパラメーターをリセットする値。

ソースファイル

text

現在の値が設定されている設定ファイル。 値が構成ファイル以外のソースからのものである場合、またはスーパーユーザーまたはpg_read_all_settingsのメンバーでないユーザーによって調べられた場合、値は空です。 この値は、構成ファイルでincludeディレクティブを使用するときに使用されます。

sourceline

int4

現在の値が設定されている構成ファイルの行番号。 値が構成ファイル以外のソースからのものである場合、またはスーパーユーザーまたはpg_read_all_settingsのメンバーでないユーザーによって調べられた場合、値は空です。

pending_restart

bool

設定ファイルで値が変更され、再起動が必要な場合はtrueです。 それ以外の場合、値はfalseです。

contextの有効な値:

  • internal: これらの設定は直接変更できません。 それらは内部で決定された値を反映します。 設定の一部は、異なる構成オプションでサーバーを再構築するか、initdbのオプションを変更することで調整できます。

  • postmaster: これらの設定は、サーバーの起動時にのみ適用できます。 これらの設定を変更する場合は、サーバーを再起動する必要があります。 これらの設定の値は通常、postgresql.confファイルに保存されるか、サーバーの起動時にコマンドラインに渡されます。 コンテキストタイプより低い任意のタイプの設定は、サーバーの起動時にも設定できます。

  • sighup: これらの設定はpostgresql.confで変更でき、サーバーの再起動は必要ありません。 SIGHUP信号をポストマスターに送信して、postgresql.confを読み取り、変更を適用します。 ポストマスターはまた、SIGHUP信号をその子プロセスに転送し、それらがすべて新しい値を取得するようにする。

  • superuser-backend: これらの設定はpostgresql.confで変更でき、サーバーの再起動は必要ありません。 これらは、接続要求パケット内の特定のセッションに対して設定することもできます (たとえば、libpqの環境変数PGOPTIONSを介して) が、接続ユーザーがスーパーユーザーである場合に限ります。 ただし、これらの設定は開始後のセッションでは変更されません。 postgresql.confの設定を変更する場合は、ポストマスターにSIGHUP信号を送信して、postgresql.confを読み込めます。 新しい値は、後で開始されるセッションでのみ有効になります。

  • backend: これらの設定はpostgresql.confで変更でき、サーバーの再起動は必要ありません。 また、接続要求パケット内の特定のセッションに対して設定することもできます (たとえば、libpqの環境変数PGOPTIONSを介して) 。 任意のユーザーがセッションに対してそのような変更を行うことができます。 ただし、これらの設定は開始後のセッションでは変更されません。 postgresql.confの設定を変更する場合は、ポストマスターにSIGHUP信号を送信して、postgresql.confを再読み込みさせます。 新しい値は、後で開始されるセッションでのみ有効になります。

  • superuser: これらの設定は、postgresql.confから、またはsetコマンドを使用してセッション内で設定できます。 postgresql.confの変更は、SETコマンドを使用してセッションローカル値が設定されていない場合にのみ、既存のセッションで有効になります。

  • user: これらの設定は、postgresql.confから、またはsetコマンドを使用してセッション内で設定できます。 ユーザーはセッションローカル値を変更できます。 postgresql.confの変更は、SETを使用してセッションローカル値が設定されていない場合にのみ、既存のセッションで有効になります。

説明

pg_settingsビューにデータを挿入したり、データを削除したりすることはできません。 ただし、ビューを更新することはできます。 pg_settingsの行に適用されるUPDATEコマンドは、そのパラメーターでSETコマンドを実行することと同じです。 変更は、現在のセッションで使用されている値にのみ影響します。 後で中止されるトランザクションでUPDATEコマンドが発行された場合、トランザクションがロールバックされるとUPDATEコマンドの効果は消えます。 周囲のトランザクションがコミットされると、別のUPDATEまたはSETコマンドによって変更がオーバーライドされない限り、効果はセッションの終了まで持続します。