pg_settings
#視窗 pg_settings
提供對伺服器執行時參數的存取。它本質上是 SHOW
和 SET
命令的替代介面。它還提供對每個參數的一些事實的存取,這些事實無法直接從 SHOW
取得,例如最小值和最大值。
表 52.24. pg_settings
欄位
欄位類型 描述 |
---|
執行時組態參數名稱 |
參數的目前值 |
參數的隱含單位 |
參數的邏輯群組 |
參數的簡要描述 |
參數的額外、更詳細的描述 |
設定參數值所需的內容(請參閱下文) |
參數類型 ( |
目前參數值的來源 |
參數允許的最小值(非數值的值為 null) |
參數允許的最大值(非數值的值為 null) |
枚舉參數的允許值(非枚舉的值為 null) |
如果未以其他方式設定參數,則伺服器啟動時假設的參數值 |
|
目前值在其中設定的組態檔(從組態檔以外的來源設定的值為 null,或者當由既非超級使用者且沒有 |
設定目前值的組態檔中的行號(從組態檔以外的來源設定的值為 null,或者當由既非超級使用者且沒有 |
如果該值已在組態檔中變更但需要重新啟動,則為 |
context
有幾個可能的值。依照變更設定的難度遞減的順序,它們是
internal
這些設定無法直接變更;它們反映內部確定的值。可以透過使用不同的組態選項重建伺服器,或者透過變更提供給 initdb 的選項來調整其中一些設定。
postmaster
這些設定只能在伺服器啟動時套用,因此任何變更都需要重新啟動伺服器。這些設定的值通常儲存在 postgresql.conf
檔案中,或者在啟動伺服器時在命令列上傳遞。當然,任何較低 context
類型的設定也可以在伺服器啟動時設定。
sighup
可以在 postgresql.conf
中變更這些設定,而無需重新啟動伺服器。將 SIGHUP 訊號傳送到 postmaster,使其重新讀取 postgresql.conf
並套用變更。postmaster 也會將 SIGHUP 訊號轉發到其子進程,以便它們都取得新值。
superuser-backend
可以在 postgresql.conf
中變更這些設定,而無需重新啟動伺服器。也可以在連線請求封包中針對特定工作階段設定它們(例如,透過 libpq 的 PGOPTIONS
環境變數),但前提是連線的使用者是超級使用者或已被授予適當的 SET
權限。但是,這些設定在工作階段啟動後永遠不會變更。如果您在 postgresql.conf
中變更它們,請將 SIGHUP 訊號傳送到 postmaster,使其重新讀取 postgresql.conf
。新值只會影響後續啟動的工作階段。
backend
這些設定的變更可以在 postgresql.conf
檔案中進行,而無需重新啟動伺服器。它們也可以在連線請求封包中針對特定會話進行設定(例如,透過 libpq 的 PGOPTIONS
環境變數);任何使用者都可以為其會話進行此類變更。但是,這些設定在會話啟動後永遠不會改變。如果您在 postgresql.conf
中變更它們,請傳送 SIGHUP 訊號給 postmaster,以使其重新讀取 postgresql.conf
。新的值只會影響後續啟動的會話。
超級使用者
這些設定可以從 postgresql.conf
檔案設定,或透過 SET
指令在會話中設定;但只有超級使用者和具有適當 SET
權限的使用者才能透過 SET
指令變更它們。只有在沒有使用 SET
建立會話本地值的情況下,postgresql.conf
中的變更才會影響現有的會話。
使用者
這些設定可以從 postgresql.conf
檔案設定,或透過 SET
指令在會話中設定。任何使用者都可以變更其會話本地值。只有在沒有使用 SET
建立會話本地值的情況下,postgresql.conf
中的變更才會影響現有的會話。
有關變更這些參數的各種方法的更多資訊,請參閱 第 19.1 節。
這個視窗無法插入或刪除,但可以更新。對 pg_settings
的一列套用 UPDATE
,相當於對該命名參數執行 SET
指令。該變更僅影響目前會話使用的值。如果在稍後中止的交易中發出 UPDATE
,則 UPDATE
指令的效果會在交易回滾時消失。一旦周圍的交易被提交,該效果將持續到會話結束,除非被另一個 UPDATE
或 SET
覆蓋。
此視窗不顯示自定義選項,除非定義它們的擴充模組已由執行查詢的後端程序載入(例如,透過在shared_preload_libraries中的提及、呼叫擴充中的C函數,或LOAD
指令)。 例如,由於封存模組通常僅由封存程序而非常規會話載入,因此除非採取特殊措施將它們載入到執行查詢的後端程序中,否則此視窗將不會顯示此類模組定義的任何自定義選項。
如果您在文件中發現任何不正確、與您特定功能的經驗不符或需要進一步澄清的內容,請使用此表格來報告文件問題。