↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 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
历史版本。 PostgreSQL 8.0 已结束支持。 请参阅 当前版本手册.

41.3. pg_am #

目录pg_am存储关于索引访问方法的信息。系统支持的每种索引访问方法在这个目录中都有一行。

表 41.3. pg_am Columns

名称类型引用 描述
amnamename  访问方法的名字
amownerint4pg_shadow.usesysid拥有者的用户 ID(目前未使用)
amstrategiesint2 此访问方法的操作符策略数,如果访问方法没有固定的操作符策略集合则为零
amsupportint2 此访问方法的支持例程数
amorderstrategyint2 如果索引不提供排序顺序则为零,否则是描述排序顺序的策略操作符的策略编号
amcanuniquebool 访问方法是否支持唯一索引?
amcanmulticolbool 访问方法是否支持多列索引?
amindexnullsbool 访问方法是否支持多列索引?
amconcurrentbool 该访问方法是否支持并发更新?
amgettupleregprocpg_proc.oid“下一个有效元组”函数,如果没有则为零
aminsertregprocpg_proc.oid“插入这个元组”函数
ambeginscanregprocpg_proc.oid“(重新)启动索引扫描”函数
amrescanregprocpg_proc.oid“(重新)启动索引扫描”函数
amendscanregprocpg_proc.oid“(重新)启动索引扫描”函数
ammarkposregprocpg_proc.oid“标记当前扫描位置”函数
amrestrposregprocpg_proc.oid“恢复被标记的扫描位置”函数
ambuildregprocpg_proc.oid“构建新索引”函数
ambulkdeleteregprocpg_proc.oid批量删除函数
amvacuumcleanupregprocpg_proc.oidVACUUM之后的清理函数
amcostestimateregprocpg_proc.oid估计索引扫描开销的函数

一个支持多列的索引访问方法(amcanmulticol为真)必须支持为第一列之后的列中的空值建立索引,因为规划器会假定该索引可用于仅针对第一列(组)的查询。例如,考虑一个基于(a,b)的索引和一个带WHERE a = 4的查询。系统会假定可以用该索引扫描满足a = 4的行,但如果索引忽略了b为空值的行,这就是错误的。不过,忽略第一个被索引列为空值的行是可以的。(GiST 目前就是这样做的。)只有当索引访问方法为所有行建立索引(包括空值的任意组合)时,才应把amindexnulls设置为真。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.