★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

9.20. システム管理関数

表9-44に、実行時設定パラメータの問い合わせや変更に使用できる関数を示します。

表 9-44. パラメータを設定する関数

名前戻り値型説明
current_setting(setting_name) text現在の設定値
set_config(setting_name, new_value, is_local) textパラメータを設定し、その新規値を返す

current_settingは、setting_nameの現在の設定値を返します。 この関数は、SQLSHOWコマンドと同じです。 以下に例を示します。

SELECT current_setting('datestyle');

 current_setting
-----------------
 ISO, MDY
(1 row)

set_config関数により、setting_nameパラメータの設定をnew_valueに変更することができます。 ただし、is_localtrueに設定されている場合、新規値は現在のトランザクションにのみ適用されます。 新規値を現在のセッションに適用する場合は、代わりにfalseを使用してください。 この関数は、SQLのSETコマンドと同じです。 以下に例を示します。

SELECT set_config('log_statement_stats', 'off', false);

 set_config
------------
 off
(1 row)

表9-45に示す関数は、制御用シグナルを他のサーバプロセスに送信します。 この関数の使用はスーパーユーザのみに制限されています。

表 9-45. バックエンドシグナル送信関数

名前戻り値型説明
pg_cancel_backend(pid) intバックエンドの現在の問い合わせをキャンセル

この関数は成功時に1を、失敗時に0を返します。 実行中のバックエンドのプロセスID(pid)はpg_stat_activityビューの procpid列から、もしくは、psを使用してサーバ上のpostgresプロセスを監視することで得ることができます。

表9-46に示す関数はオンラインバックアップの作成を補助するものです。 これらの関数の使用はスーパーユーザに制限されています。

表 9-46. バックアップ制御関数

名前戻り値型説明
pg_start_backup(label_text) textオンラインバックアップの実行準備を実施
pg_stop_backup() textオンラインバックアップの実行を停止

pg_start_backupは、ユーザが任意に定義したバックアップラベルである、パラメータを1つ受付けます。 (通常、格納に使用するバックアップダンプファイルにちなんだ名前が付けられます。) この関数は、データベースクラスタのデータディレクトリにバックアップラベルファイルを書き出し、バックアップを始めるWALオフセットをテキスト形式で返します。 (ユーザはこの結果値に注意する必要はありません。しかし、使用されることもありますのでこの値が提供されています。)

pg_stop_backupは、pg_start_backupで作成されたラベルファイルを削除し、代わりに、WALアーカイブ領域にバックアップ履歴ファイルを作成します。 履歴ファイルにはpg_start_backupで付与されたラベル、バックアップのWALオフセットの開始位置、終了位置、バックアップ開始時刻、終了時刻が含まれます。 戻り値は、バックアップの終了WALオフセットです(これも同様に稀に使用されることがあります)。

この関数の正しい使用方法については、項22.3を参照してください。