ALTER SYSTEM — 更改伺服器配置引數
ALTER SYSTEM SETconfiguration_parameter
{ TO | = } {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
可設定的配置引數的名稱。可用引數在 第 19 章 中有說明。
value
引數的新值。值可以根據特定引數的要求,指定為字串常量、識別符號、數字或這些的逗號分隔列表。不是數字也不是有效識別符號的值必須加引號。 DEFAULT
可用於指定從 postgresql.auto.conf
中刪除引數及其值。
對於某些接受列表的引數,加引號的值將產生雙引號輸出,以保留空格和逗號;對於其他引數,必須在單引號字串中使用雙引號才能實現此效果。
此命令不能用於設定 data_directory、allow_alter_system,或不允許在 postgresql.conf
中設定的引數(例如,預設選項)。
有關設定引數的其他方法,請參閱 第 19.1 節。
ALTER SYSTEM
可以透過將 allow_alter_system 設定為 off
來停用,但這並非安全機制(如該引數的文件中所述)。
設定 wal_level
ALTER SYSTEM SET wal_level = replica;
撤銷該操作,恢復 postgresql.conf
中的任何有效設定
ALTER SYSTEM RESET wal_level;
ALTER SYSTEM
語句是 PostgreSQL 的擴充套件。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。