数据库系统表
- 定义:系统表是存放系统信息的普通表或者视图。
- 系统表的创建:pg的每一个数据库中都有一套自己的系统表,大多数系统表都是在数据库创建的过程中从模版数据库中拷贝过来的,因此都是数据库相关的。少数表是在整个安装中物理上所有数据库共享的;这些表在独立的表的描述中用指明了。
- 系统表的维护:系统表中的信息由sql命令关联的系统表操作来自动维护。
- 系统表的存储方式:和数据库相关的系统表保存在/data/base目录下相应数据库的文件夹下,文件夹命名为pg_database里记录的数据库oid数据库集群共享的系统表,如pg_database,保存在/data/global下
查看数据库系统表命令
一些系统表如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| 表名字 用途 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_shdescription 共享对象上的注释 pg_statistic 优化器统计 pg_tablespace 这个数据库集群里面的表空间 pg_trigger 触发器 pg_type 数据类型
|
系统视图
除了系统表之外,PostgreSQL 还提供了一系列内置的视图,包括系统视图和其他视图。系统视图提供了查询系统表的一些便利的访问方法。其它一些视图提供了访问内部服务器状态的方法。
信息模式 提供了另外一套视图,它的功能覆盖了系统视图的功能。因为信息模式是 SQL 标准,而下面描述的视图是 PostgreSQL 特有的,所以最好用信息模式来获取自己需要的所有信息。
下面列出了这里描述的所有系统视图。下面是每个视图更详细的信息。有些视图提供了对统计收集器的结果的访问;
除了特别声明的,这里描述的所有视图都是只读的。
系统视图建立在系统表之上的,如 pg_user
是在视图 pg_shadow
上面建的一个视图,其中隐藏了密码
列出所有pg开头的系统示图
一些系统视图如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| pg_cursors 打开的游标 pg_group 数据库用户的组 pg_indexes 索引 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 视图
|