专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > postgresql > 教程 > PostgreSQL基础教程:系统表和系统视图

PostgreSQL基础教程:系统表和系统视图

文章来源: 更新时间:2020/6/2 17:46:22

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

PostgreSQL数据库OracleMySQL等数据库相比,有相似之处,也有区别的地方,系统表是关系型数据库存放结构元数据的地方,比如表和字段以及内部登记信息等。PostgreSQL 的系统表就是普通表。

不应该手工修改系统表,通常总有 SQL 命令可以做这些事情。

比如,CREATE DATABASE 向 pg_database 表插入一行,并且实际上在磁盘上创建该数据库。有几种特别深奥的操作例外,比如增加索引访问方法。

1. 系统表部分:

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

系统表之间基本上都是以oid关联。系统表pg_class记录表和几乎所有具有列或者像表的东西。这包括索引(但还要参见pg_index)、序列、视图、物化视图、组合类型和TOAST表。relnamespace是该关系的名字空间的OID。从系统表pg_namespace存储名字空间取出名字空间的名字为pg_catalog的,它的iod跟pg_class的oid关联。

pg_catalog这个schema是PostgreSQL默认的元数据schema,所有的元数据都在这里。

relkind:r = 普通表,i = 索引, S = 序列,v = 视图, m = 物化视图, c = 组合类型,t = TOAST表, f = 外部表。

列出所有pg开头的系统表,参考元命令:

\dt pg_*

或者执行以下sql查看所有系统表:

postgres=# select relkind,relname from pg_class where relnamespace = (select oid from pg_namespace where nspname='pg_catalog') and relkind='r' order by 1,2;

表名字 用途

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 数据类型

2、系统视图部分:

除了系统表之外,PostgreSQL 还提供了一系列内置的视图。

系统视图提供了查询系统表的一些便利的访问方法。

其它一些视图提供了访问内部服务器状态的方法。

信息模式提供了另外一套视图,它的功能覆盖了系统视图的功能。因为信息模式是 SQL 标准,而这里描述的视图是 PostgreSQL 特有的,所以最好用信息模式来获取自己需要的所有信息。

下面列出了这里描述的所有系统视图。下面是每个视图更详细的信息。有些视图提供了对统计收集器的结果的访问;

除了特别声明的,这里描述的所有视图都是只读的。

列出所有pg开头的系统试图,参考元命令:

\dv pg_*

或者执行以下sql语句:

postgres=# select relkind,relname from pg_class where relnamespace = (select oid from pg_namespace where nspname='pg_catalog') and relkind='v' order by 1,2;

视图名 用途

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 视图

本文地址:http://www.cuug.com.cn/postgresql/jiaocheng/24734079137.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1