pg_proc
#目錄 pg_proc
儲存關於函數、程序、聚合函數和視窗函數(統稱為常式)的資訊。 有關詳細資訊,請參閱 CREATE FUNCTION、CREATE PROCEDURE 和 第 36.3 節。
如果 prokind
指出該條目是聚合函數的,則應在 pg_aggregate
中存在匹配的列。
表格 51.39. pg_proc
欄位
欄位名稱 描述 |
---|
列識別碼 |
函數名稱 |
包含此函數的命名空間的 OID |
函數的所有者 |
此函數的實作語言或呼叫介面 |
估計的執行成本(以 cpu_operator_cost 為單位);如果 |
估計的結果列數(如果不是 |
可變參數陣列參數的元素資料類型,如果函數沒有可變參數,則為零 |
此函數的規劃器支援函數(請參閱 第 36.11 節),如果沒有,則為零 |
對於普通函數為 |
函數是安全性定義者(即 “setuid” 函數) |
函數沒有副作用。除了透過傳回值外,不會傳達關於引數的任何資訊。任何可能根據其引數的值拋出錯誤的函數都不是防洩漏的。 |
如果任何呼叫引數為 null,則函數傳回 null。在這種情況下,實際上根本不會呼叫該函數。非 “strict” 的函數必須準備好處理 null 輸入。 |
函數傳回一個集合(即,指定資料類型的多個值) |
|
|
輸入參數的數量 |
具有預設值的參數數量 |
傳回值的資料類型 |
函數參數的資料類型陣列。這僅包含輸入參數(包括 |
函數參數的資料類型陣列。這包含所有參數(包括 |
函數參數模式的陣列,編碼為 |
函數參數名稱的陣列。沒有名稱的參數在陣列中設定為空字串。如果沒有任何參數具有名稱,則此欄位將為 null。請注意,下標對應於 |
預設值的表達式樹(以 |
要套用轉換的引數/結果資料類型陣列(來自函數的 |
這告訴函數處理常式如何呼叫函數。它可能是直譯語言函數的實際原始碼、連結符號、檔案名稱,或幾乎任何其他東西,具體取決於實作語言/呼叫慣例。 |
關於如何呼叫函數的額外資訊。同樣,解釋取決於語言。 |
預先解析的 SQL 函數主體。當函數主體以 SQL 標準表示法(而不是字串文字)給出時,這用於 SQL 語言函數。在其他情況下,它為 null。 |
函數的執行時期配置變數的本地設定 |
存取權限;有關詳細資訊,請參閱 Section 5.8 |
對於編譯後的函數,包括內建函數和動態載入函數,prosrc
包含函數的 C 語言名稱(連結符號)。對於 SQL 語言函數,如果指定為字串文字,則 prosrc
包含函數的原始碼文本;但是,如果函數主體以 SQL 標準樣式指定,則 prosrc
未使用(通常為空字串),並且 prosqlbody
包含預先解析的定義。對於所有其他目前已知的語言類型,prosrc
包含函數的原始碼文本。probin
除了動態載入的 C 函數之外,都為 null,對於動態載入的 C 函數,它給出了包含函數的共享庫檔案的名稱。
如果您在文件中發現任何不正確、與特定功能的使用體驗不符或需要進一步澄清的地方,請使用此表單來回報文件問題。