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節。
可以透過將 allow_alter_system 設定為 off
來停用 ALTER SYSTEM
,但這不是一種安全機制(如本參數的文件中詳細說明的那樣)。
設定 wal_level
ALTER SYSTEM SET wal_level = replica;
撤銷該設定,恢復 postgresql.conf
中有效的任何設定
ALTER SYSTEM RESET wal_level;
ALTER SYSTEM
陳述式是 PostgreSQL 延伸功能。
如果您在文件中發現任何不正確、與您特定功能的經驗不符或需要進一步澄清的地方,請使用此表單報告文件問題。