Chapter 3. 系统表

Table of Contents
3.1. 概述
3.2. pg_aggregate
3.3. pg_am
3.4. pg_amop
3.5. pg_amproc
3.6. pg_attrdef
3.7. pg_attribute
3.8. pg_cast
3.9. pg_class
3.10. pg_constraint
3.11. pg_conversion
3.12. pg_database
3.13. pg_depend
3.14. pg_description
3.15. pg_group
3.16. pg_index
3.17. pg_inherits
3.18. pg_language
3.19. pg_largeobject
3.20. pg_listener
3.21. pg_namespace
3.22. pg_opclass
3.23. pg_operator
3.24. pg_proc
3.25. pg_rewrite
3.26. pg_shadow
3.27. pg_statistic
3.28. pg_trigger
3.29. pg_type

3.1. 概述

系统表是关系型数据库存放结构元数据的地方, 比如表和字段,以及内部登记信息等. PostgreSQL 的系统表就是普通表. 你可以删除然后重建这些表,增加列,插入和更新数值, 然后彻底把你的系统搞垮. 通常我们不应该手工修改系统表,通常总有 SQL 命令可以做这些事情. (比如,CREATE DATABASEpg_database 表插入一行 -- 并且实际上 在磁盘上创建该数据库.) 有几种特别深奥的操作例外,比如增加索引访问方法.

大多数系统表都是在数据库创建的过程中从模版数据库中拷贝过来的, 因此都是数据库相关的。少数表是在整个安装中物理上所有数据库共享的; 这些表在独立的表的描述中用标记标出来了。

Table 3-1. 系统表

表名字表用途
pg_aggregate聚集函数
pg_am索引访问方法
pg_amop访问方法操作符
pg_amproc访问方法支持过程
pg_attrdef字段缺省值
pg_attribute表的列("属性""字段"
pg_cast投影(数据类型转换)
pg_class表,索引,序列("关系"
pg_constraint检查约束,唯一/主键约束,外键约束
pg_conversion编码转换信息
pg_database本集群内的数据库
pg_depend数据库对象之间的依赖性
pg_description数据库对象的描述或注释
pg_group数据库用户的组
pg_index附加的索引信息
pg_inherits表继承分级
pg_language用于写函数的语言
pg_largeobject大对象
pg_listener异步通知
pg_namespace名字空间(模式)
pg_opclass索引访问方法操作符表
pg_operator操作符
pg_proc函数和过程
pg_rewrite查询重写规则
pg_shadow数据库用户
pg_statistic优化器统计
pg_trigger触发器
pg_type数据类型

每个表更详细的信息在下面列出。