↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.3 / 7.2 / 7.1
历史版本PostgreSQL 7.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

12.3. 关于 Postgres 系统目录 #

介绍了基本的可扩展性概念之后,我们现在可以看看目录实际上是如何组织的。现在可以跳过本节,但后面的某些章节如果没有这里给出的信息将无法理解,所以请给这一页做个标记以便以后参考。所有系统目录的名称都以 pg_ 开头。下面的表包含可能对最终用户有用的信息。(还有很多其他系统目录,但很少需要直接查询它们。)

表 12.1. Postgres 系统目录

目录名 描述
pg_database 数据库
pg_class 表
pg_attribute 表列
pg_index 辅助索引
pg_proc 过程(C 和 SQL 都是)
pg_type 类型(基本和复合都是)
pg_operator operators
pg_aggregate 聚集和聚集函数
pg_am 访问方法
pg_amop 访问方法操作符
pg_amproc 访问方法支持函数
pg_opclass 访问方法操作符类


图 12.1. Postgres 的主要系统目录

Postgres 的主要系统目录


参考手册对这些目录及其列给出了更详细的解释。不过,图 12.1展示了系统目录中的主要实体及其关系。(不引用其他实体的列没有显示,除非它们是主键的一部分。)在你实际开始查看目录的内容并了解它们彼此如何关联之前,这张图多少令人费解。就目前而言,从这张图中应了解的主要事项如下:

  • 在后面的几节中,我们将给出系统目录上的各种连接查询,它们显示我们扩展系统所需的信息。看这张图应该会让其中一些连接查询(它们通常是三路或四路连接)更容易理解,因为你将能看到查询中使用的列在其他表中构成外键。

  • 许多不同的特性(表、列、函数、类型、访问方法等)在这个模式中紧密集成。一条简单的 create 命令就可能修改其中许多目录。

  • 类型和过程是这个模式的核心。

    注意

    我们或多或少可以互换地使用过程和函数这两个词。

    几乎每个目录都包含对这两个表中之一或两者的行的引用。例如,Postgres 经常使用类型签名(例如函数和操作符的签名)来标识其他目录的唯一行。

  • 有许多列和关系的含义是显而易见的,但也有许多(特别是那些与访问方法有关的)并非如此。pg_am、pg_amop、pg_amproc、pg_operator 和 pg_opclass 之间的关系特别难以理解,我们将在讨论了基本扩展之后(在把类型和操作符接口到索引的一节中)深入描述它们。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。