支援的版本: 目前 (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

51.4. pg_amop #

目錄 pg_amop 儲存關於與存取方法運算子族相關聯的運算子的資訊。每個作為運算子族成員的運算子都有一列。族成員可以是搜尋運算子或排序運算子。一個運算子可以出現在多個族中,但不能在一個族中出現多個搜尋位置或多個排序位置。(允許,但不太可能,一個運算子同時用於搜尋和排序目的。)

表 51.4. pg_amop 欄位

欄位

描述

oid oid

列識別碼

amopfamily oid(參照 pg_opfamily.oid

此條目所屬的運算子族

amoplefttype oid(參照 pg_type.oid

運算子的左側輸入資料類型

amoprighttype oid(參照 pg_type.oid

運算子的右側輸入資料類型

amopstrategy int2

運算子策略編號

amoppurpose char

運算子目的,s 代表搜尋,o 代表排序

amopopr oid(參照 pg_operator.oid

運算子的 OID

amopmethod oid(參照 pg_am.oid

索引存取方法運算子族適用

amopsortfamily oid(參照 pg_opfamily.oid

此條目依據排序的 B-tree 運算子族,如果是一個排序運算子;如果是搜尋運算子,則為零


搜尋運算子條目表示可以搜尋此運算子族的索引,以找到滿足 WHERE indexed_column operator constant 的所有列。顯然,這樣的運算子必須傳回 boolean,且其左側輸入類型必須符合索引的欄位資料類型。

排序運算子條目表示可以掃描此運算子族的索引,以傳回以 ORDER BY indexed_column operator constant 表示的順序列。這樣的運算子可以傳回任何可排序的資料類型,儘管其左側輸入類型必須再次符合索引的欄位資料類型。 ORDER BY 的確切語意由 amopsortfamily 欄位指定,該欄位必須參照運算子結果類型的 B-tree 運算子族。

注意

目前,假定排序運算子的排序順序是所參照的運算子族的預設順序,即 ASC NULLS LAST。有一天,可能會透過新增額外的欄位來明確指定排序選項,從而放寬此限制。

條目的 amopmethod 必須符合其包含的運算子族的 opfmethod(在此包含 amopmethod 是為了效能原因而有意為之的目錄結構非正規化)。此外, amoplefttypeamoprighttype 必須符合所參照的 pg_operator 條目的 oprleftoprright 欄位。

提交更正

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