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

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

已结束支持的版本: 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.

11.3. 关于 PostgreSQL 系统目录 #

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

表 11.1. PostgreSQL 系统目录

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


图 11.1. PostgreSQL 的主要系统目录

PostgreSQL 的主要系统目录


The Developer's Guide gives a more detailed explanation of these catalogs and their columns. However, 图 11.1 shows the major entities and their relationships in the system catalogs. (Columns that do not refer to other entities are not shown unless they are part of a primary key.) This diagram is more or less incomprehensible until you actually start looking at the contents of the catalogs and see how they relate to each other. For now, the main things to take away from this diagram are as follows:

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

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

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

    注意

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

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

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

报告文档问题

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