pg_settings
#檢視pg_settings
提供了對伺服器執行時引數的訪問。它本質上是SHOW
和SET
命令的替代介面。它還提供了對每個引數的一些直接從SHOW
無法獲得的屬性的訪問,例如最小值和最大值。
表 53.25. pg_settings
列
列 型別 描述 |
---|
執行時配置引數名稱 |
引數的當前值 |
引數的隱式單位 |
引數的邏輯分組 |
引數的簡要描述 |
引數的其他、更詳細的描述 |
設定引數值所需的上下文(見下文) |
引數型別( |
當前引數值的來源 |
引數允許的最小值(非數字值則為NULL) |
引數允許的最大值(非數字值則為NULL) |
列舉引數的允許值(非列舉值則為NULL) |
伺服器啟動時假定的引數值,如果引數未以其他方式設定 |
在當前會話中, |
當前值設定的配置檔案(來自配置檔案以外的來源的值為NULL,或者當由既非超級使用者也無 |
當前值設定的配置檔案中的行號(來自配置檔案以外的來源的值為NULL,或者當由既非超級使用者也無 |
如果值已在配置檔案中更改但需要重啟,則為 |
There are several possible values of context
. In order of decreasing difficulty of changing the setting, they are
internal
這些設定無法直接更改;它們反映了內部確定的值。其中一些可能可以透過使用不同的配置選項重新構建伺服器,或者透過更改提供給initdb的選項來調整。
postmaster
這些設定只能在伺服器啟動時應用,因此任何更改都需要重啟伺服器。這些設定的值通常儲存在postgresql.conf
檔案中,或在啟動伺服器時透過命令列傳遞。當然,具有任何較低context
型別的設定也可以在伺服器啟動時設定。
sighup
這些設定可以在postgresql.conf
中更改,而無需重啟伺服器。向postmaster傳送SIGHUP訊號,使其重新讀取postgresql.conf
並應用更改。postmaster還會將SIGHUP訊號轉發給其子程序,以便它們都能獲取新值。
superuser-backend
這些設定可以在postgresql.conf
中更改,而無需重啟伺服器。它們也可以在連線請求包中為特定會話設定(例如,透過libpq的PGOPTIONS
環境變數),但前提是連線使用者是超級使用者或已被授予適當的SET
許可權。但是,這些設定在會話啟動後永不更改。如果在postgresql.conf
中更改它們,請向postmaster傳送SIGHUP訊號,使其重新讀取postgresql.conf
。新值僅影響隨後啟動的會話。
backend
這些設定可以在postgresql.conf
中更改,而無需重啟伺服器。它們也可以在連線請求包中為特定會話設定(例如,透過libpq的PGOPTIONS
環境變數);任何使用者都可以為其會話進行此類更改。但是,這些設定在會話啟動後永不更改。如果在postgresql.conf
中更改它們,請向postmaster傳送SIGHUP訊號,使其重新讀取postgresql.conf
。新值僅影響隨後啟動的會話。
superuser
這些設定可以從postgresql.conf
設定,或在會話中透過SET
命令設定;但只有超級使用者和具有適當SET
許可權的使用者可以透過SET
更改它們。對postgresql.conf
的更改將僅影響現有會話,前提是沒有透過SET
建立會話本地值。
user
These settings can be set from postgresql.conf
, or within a session via the SET
command. Any user is allowed to change their session-local value. Changes in postgresql.conf
will affect existing sessions only if no session-local value has been established with SET
.
有關更改這些引數的各種方法的更多資訊,請參閱第 19.1 節。
此檢視無法插入或刪除,但可以更新。應用於pg_settings
行的UPDATE
等同於對該命名引數執行SET
命令。更改僅影響當前會話使用的值。如果在稍後被中止的事務內發出UPDATE
,則當事務回滾時,UPDATE
命令的效果將消失。一旦周圍事務提交,效果將持續到會話結束,除非被另一個UPDATE
或SET
覆蓋。
此檢視不顯示自定義選項,除非定義它們的擴充套件模組已由執行查詢的後端程序載入(例如,透過shared_preload_libraries中的提及,對擴充套件中的C函式呼叫,或LOAD
命令)。例如,由於歸檔模組通常僅由歸檔程序而不是常規會話載入,因此此檢視不會顯示這些模組定義的任何自定義選項,除非採取特殊措施將其載入到執行查詢的後端程序中。
如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用此表格報告文件問題。