Chapter 42. 系统表

Table of Contents
42.1. 概述
42.2. pg_aggregate
42.3. pg_am
42.4. pg_amop
42.5. pg_amproc
42.6. pg_attrdef
42.7. pg_attribute
42.8. pg_authid
42.9. pg_auth_members
42.10. pg_autovacuum
42.11. pg_cast
42.12. pg_class
42.13. pg_constraint
42.14. pg_conversion
42.15. pg_database
42.16. pg_depend
42.17. pg_description
42.18. pg_index
42.19. pg_inherits
42.20. pg_language
42.21. pg_largeobject
42.22. pg_listener
42.23. pg_namespace
42.24. pg_opclass
42.25. pg_operator
42.26. pg_pltemplate
42.27. pg_proc
42.28. pg_rewrite
42.29. pg_shdepend
42.30. pg_statistic
42.31. pg_tablespace
42.32. pg_trigger
42.33. pg_type
42.34. 系统视图
42.35. pg_group
42.36. pg_indexes
42.37. pg_locks
42.38. pg_prepared_xacts
42.39. pg_roles
42.40. pg_rules
42.41. pg_settings
42.42. pg_shadow
42.43. pg_stats
42.44. pg_tables
42.45. pg_user
42.46. pg_views

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

42.1. 概述

Table 42-1 列出了系统表。 每个表更详细的文档在后面。

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

Table 42-1. 系统表

表名字表用途
pg_aggregate聚集函数
pg_am索引访问方法
pg_amop访问方法操作符
pg_amproc访问方法支持过程
pg_attrdef字段缺省值
pg_attribute表的列("属性""字段"
pg_authid认证标识符(角色)
pg_auth_members认证标识符成员关系
pg_autovacuum每个关系一个的自动清理配置参数
pg_cast转换(数据类型转换)
pg_class表,索引,序列,视图("关系"
pg_constraint检查约束,唯一约束,主键约束,外键约束
pg_conversion编码转换信息
pg_database本集群内的数据库
pg_depend数据库对象之间的依赖性
pg_description数据库对象的描述或注释
pg_index附加的索引信息
pg_inherits表继承层次
pg_language用于写函数的语言
pg_largeobject大对象
pg_listener异步通知
pg_namespace模式
pg_opclass索引访问方法操作符表
pg_operator操作符
pg_pltemplate过程语言使用的模板数据
pg_proc函数和过程
pg_rewrite查询重写规则
pg_shdepend在共享对象上的依赖性
pg_statistic优化器统计
pg_tablespace这个数据库集群里面的表空间
pg_trigger触发器
pg_type数据类型