系统表是关系型 数据库存放结构元数据的地方,比如表和字段以及内部登记信息等。PostgreSQL 的 系统表就是普通表。你可以删除然后重建这些表、增加列、插入和更新数值,然后彻底把系统搞垮。不应该手工修改系统表,通常总有 SQL 命令可以做这些事情。比如,CREATE DATABASE 向 pg_database 表插入一行,并且实际上在磁盘上创建该数据库。有几种特别深奥的操作例外,比如增加索引访问方法。 www.2cto.com
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
编码转换信息 www.2cto.com
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_shdescription
共享对象上的注释
pg_statistic
优化器统计
pg_tablespace
这个数据库集群里面的表空间
pg_trigger
触发器
pg_type
数据类型
2、系统视图部分:
除了系统表之外,PostgreSQL 还提供了一系列内置的视图。系统视图提供了查询系统表的一些便利的访问方法。其它一些视图提供了访问内部服务器状态的方法。
信息模式提供了另外一套视图,它的功能覆盖了系统视图的功能。因为信息模式是 SQL 标准,而这里描述的视图是 PostgreSQL 特有的,所以最好用信息模式来获取自己需要的所有信息。
下面列出了这里描述的所有系统视图。下面是每个视图更详细的信息。有些视图提供了对统计收集器的结果的访问;
除了特别声明的,这里描述的所有视图都是只读的。
视图名
用途
pg_cursors
打开的游标
pg_group
数据库用户的组
pg_indexes
索引 www.2cto.com
pg_locks
当前持有的锁
pg_prepared_statements
预备语句
pg_prepared_xacts
预备事务
pg_roles
数据库角色
pg_rules
规则
pg_settings
参数设置
pg_shadow
数据库用户
pg_stats
规划器统计
pg_tables
表
pg_timezone_abbrevs
时区缩写
pg_timezone_names
时区名
pg_user
数据库用户
pg_views
视图
作者 Joe-xXx
