ALTER SYSTEM — サーバの設定パラメータを変更する
ALTER SYSTEM SETconfiguration_parameter
{ TO | = } {value
| 'value
' | DEFAULT } ALTER SYSTEM RESETconfiguration_parameter
ALTER SYSTEM RESET ALL
ALTER SYSTEM
はデータベースクラスタ全体にわたるサーバの設定パラメータを変更するのに使われます。
手作業でpostgresql.conf
ファイルを編集するという伝統的な方法よりも、この方が便利かもしれません。
ALTER SYSTEM
は指定されたパラメータ設定をpostgresql.auto.conf
ファイルに書き出し、これがpostgresql.conf
に加えて読み込まれます。
パラメータをDEFAULT
に設定する、あるいはこれの別表記であるRESET
を使うと、postgresql.auto.conf
ファイルから、その設定のエントリを削除します。
そのような設定のエントリをすべて削除するにはRESET ALL
を使用してください。
ALTER SYSTEM
で設定された値は、次回のサーバ設定の再ロードで、またサーバ開始時にのみ変更可能なパラメータについては次回のサーバ再起動で有効になります。
サーバ設定の再ロードは、SQL関数pg_reload_conf()
の呼び出し、pg_ctl reload
の実行、あるいはメインのサーバプロセスにSIGHUPを送信することで実行できます。
スーパーユーザとパラメータに関するALTER SYSTEM
権限を付与されたユーザーだけが、ALTER SYSTEM
を使ってパラメータを変更できます。
また、このコマンドはファイルシステムに直接作用し、ロールバックできないため、トランザクションブロックや関数の内部で使うことはできません。
configuration_parameter
設定する設定パラメータの名前です。 利用可能なパラメータに付いては第20章に記述されています。
value
パラメータの新しい値です。
値は、対象のパラメータとして適切な文字列定数、識別子、数値あるいはそれらをカンマで区切ったリストで指定できます。
DEFAULT
と指定することができ、このとき、パラメータとその値をpostgresql.auto.conf
から削除します。
このコマンドではdata_directoryおよびpostgresql.conf
で設定できないパラメータ(例えばpreset options)を設定することはできません。
パラメータを設定するその他の方法については20.1を参照してください。
wal_level
を設定します。
ALTER SYSTEM SET wal_level = replica;
それを取り消して、postgresql.conf
で有効だった設定に戻します。
ALTER SYSTEM RESET wal_level;
ALTER SYSTEM
文はPostgreSQLの拡張です。