您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

11.3. 关于 PostgreSQL 系统表

在介绍了扩展性的基本概念后,我们现在看看系统表实际上是个什么布局. 你目前可以忽略这章,但是如果 没有这一章的信息,后面的一些章节的内容会变得很难懂, 所以你最好把这一章打上标记,以备查询.所有 系统表都具有以 pg_ 开头的名称. 下面的表格包含可能对最终用户有用的信息. (还有许多其他系统表,但 是很难得有机会直接对它们进行查询.)

Table 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 访问方法操作符表

Figure 11-1. 主要的 PostgreSQL 系统表

开发人员手册 给出了关于这些表和它们的字段的更多的详细信息. 不过, Figure 11-1 显示了系统表的主要成员和它们的字段. (与其他表无关的字段在这里没有显示出来,除非它们是主键的一部分.) 这个表看起来或多或少有些难懂, 除非你真正看了这些表的内容而且看了它们之间是如何相关的.从现在开始, 我们要从这个图里面挖出下面这些东西:

  • 在后面的几章里,我们将提供一些在系统表上的连接 查询--这些查询展示了我们在扩展系统时所需 要的信息.仔细研究这张图会让我们对这些连接查询 (通常是三或四路连接)更容易理解,因为这样 你就能看到在查询里用到的字段是其他表的外部键字.

  • 许多不同的特性(表,属性,函数,类型,访问模式等.) 是按照这个结构紧密集成在一起的.因而 一个简单的 create 命令就有可能更改许多这些表.

  • 类型和过程是这个图表的核心.

    注意: 我们在这里多多少少把 过程 函数 混起来用.

    几乎每个表都包含其他一个或多个表的字段的引用.例如, PostgreSQL 经常使用类型签名(例如,函数 或操作符的)来标识其他表的唯一记录.

  • 有许多字段和关系有明显的含义, 但是还有许多(尤其是那些与访问模式打交道的字段)没有(明显含义). 表 pg_am pg_amop pg_amproc pg_operator pg_opclass 之间的关系尤其难以理解,所以我们将在讨论完基本扩展后更深入地讨论之 (在类型接口和用于索引的操作符章节之后).