システム管理関数

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 9章関数と演算子 | 早送り | 次のページ

# 9.20. システム管理関数

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

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

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

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

    SELECT current_setting('datestyle');

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

`set_config`関数により、`setting_name`パラメータの設定を`new_value`に変更することができます。 ただし、`is_local`が`true`に設定されている場合、新規値は現在のトランザクションにのみ適用されます。 新規値を現在のセッションに適用する場合は、代わりに`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を参照してください。

前のページ | ホーム | 次のページ
システム情報関数 | 上に戻る | 型変換