pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
pg_am 表为每个索引访问方法保存一行。堆访问方法的支持内置于 PostgreSQL 中,但所有其他访问方法都在 pg_am 中描述。其模式如表 17.1所示。
表 17.1. 索引访问方法模式
| 列 | 描述 |
|---|---|
| amname | 访问方法的名称 |
| amowner | 属主的用户 ID(当前未使用) |
| amstrategies | 该访问方法的策略数目(见下文) |
| amsupport | 该访问方法的支持例程数目(见下文) |
| amorderstrategy | 如果索引不提供排序顺序则为零,否则是描述该排序顺序的策略操作符的策略号 |
| amcanunique | 该访问方法是否支持唯一索引? |
| amcanmulticol | 该访问方法是否支持多列索引? |
| amindexnulls | 该访问方法是否支持 NULL 索引项? |
| amconcurrent | 该访问方法是否支持并发更新? |
| amgettuple | |
| aminsert | |
| ... | 访问方法接口例程的过程标识符。例如,打开、关闭访问方法以及从中获取行的 regproc ID 就出现在这里。 |
pg_am 中该行的对象 ID 被用作许多其他表中的外键。你不需要向这个表添加新行;你所关心的只是你想扩展的访问方法的对象 ID:
SELECT oid FROM pg_am WHERE amname = 'btree'; oid ----- 403 (1 row)
我们稍后会在 WHERE 子句中使用该查询。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。