支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

51.2. pg_aggregate #

目錄 pg_aggregate 儲存關於彙總函式的資訊。 彙總函式是一種對一組值(通常是符合查詢條件的每一列的一個欄位)進行運算,並傳回從所有這些值計算出的單一值的函式。 常見的彙總函式有 sumcountmaxpg_aggregate 中的每個條目都是 pg_proc 中條目的延伸。 pg_proc 條目包含彙總函式的名稱、輸入和輸出資料類型,以及與普通函式相似的其他資訊。

表 51.2. pg_aggregate 欄位

欄位 Type

描述

aggfnoid regproc(參考 pg_proc.oid

彙總函式的 pg_proc OID

aggkind char

彙總種類:n 代表一般彙總,o 代表排序集合彙總,或 h 代表假設集合彙總

aggnumdirectargs int2

排序集合或假設集合彙總的直接(非彙總)引數數量,將可變陣列視為一個引數。 如果等於 pronargs,則彙總函式必須是可變的,並且可變陣列描述了彙總引數以及最終的直接引數。 對於一般彙總函式始終為零。

aggtransfn regproc(參考 pg_proc.oid

轉換函式

aggfinalfn regproc(參考 pg_proc.oid

最終函式(如果沒有,則為零)

aggcombinefn regproc(參考 pg_proc.oid

合併函式(如果沒有,則為零)

aggserialfn regproc(參考 pg_proc.oid

序列化函式(如果沒有,則為零)

aggdeserialfn regproc(參考 pg_proc.oid

還原序列化函式(如果沒有,則為零)

aggmtransfn regproc(參考 pg_proc.oid

移動彙總模式的前向轉換函式(如果沒有,則為零)

aggminvtransfn regproc(參考 pg_proc.oid

移動彙總模式的反向轉換函式(如果沒有,則為零)

aggmfinalfn regproc(參考 pg_proc.oid

移動彙總模式的最終函式(如果沒有,則為零)

aggfinalextra bool

如果為 True,則將額外的虛擬引數傳遞給 aggfinalfn

aggmfinalextra bool

如果為 True,則將額外的虛擬引數傳遞給 aggmfinalfn

aggfinalmodify char

aggfinalfn 是否修改轉換狀態值:r 表示唯讀,s 表示在 aggfinalfn 之後無法套用 aggtransfn,或 w 表示寫入該值

aggmfinalmodify char

aggfinalmodify 類似,但用於 aggmfinalfn

aggsortop oid(參考 pg_operator.oid

關聯的排序運算子(如果沒有則為零)

aggtranstype oid (參考 pg_type.oid

聚集函數內部轉換(狀態)資料的資料類型

aggtransspace int4

轉換狀態資料的大約平均大小(以位元組為單位),如果使用預設估計值則為零

aggmtranstype oid (參考 pg_type.oid

用於移動聚集模式的聚集函數內部轉換(狀態)資料的資料類型(如果沒有則為零)

aggmtransspace int4

用於移動聚集模式的轉換狀態資料的大約平均大小(以位元組為單位),如果使用預設估計值則為零

agginitval text

轉換狀態的初始值。這是一個文字欄位,包含其外部字串表示形式的初始值。如果此欄位為 null,則轉換狀態值從 null 開始。

aggminitval text

用於移動聚集模式的轉換狀態的初始值。這是一個文字欄位,包含其外部字串表示形式的初始值。如果此欄位為 null,則轉換狀態值從 null 開始。


新的聚集函數使用 CREATE AGGREGATE 命令註冊。有關編寫聚集函數以及轉換函數等的含義的更多訊息,請參閱 Section 36.12

提交更正

如果您在文件中發現任何不正確、與您特定功能的使用經驗不符或需要進一步澄清的內容,請使用此表單來回報文件問題。