这篇文章主要介绍了PostgreSQL教程(十六):系统视图详解,本文讲解了pg_tables、pg_indexes、pg_views、pg_user、pg_roles、pg_rules、pg_settings等视图的作用和字段含义等内容,需要的朋友可以参考下
 
一、pg_tables:

该视图提供了对有关数据库中每个表的有用信息地访问。

名字 类型 引用 描述
schemaname name pg_namespace.nspname 包含表的模式名字。
tablename name pg_class.relname 表的名字。
tableowner name pg_authid.rolname 表的所有者的名字。
tablespace name pg_tablespace.spcname 包含表的表空间名字(如果是数据库缺省,则为 NULL)。
hasindexes bool pg_class.relhasindex 如果表拥有(或者最近拥有)任何索引,则为真。
hasrules bool pg_class.relhasrules 如果表存在规则,则为真。
hastriggers bool pg_class.reltriggers 如果表有触发器,则为真。

二、pg_indexes:

该视图提供对数据库中每个索引的有用信息的访问。

名字 类型 引用 描述
schemaname name pg_namespace.nspname 包含表和索引的模式的名字。
tablename name pg_class.relname 索引所在表的名字。
indexname name pg_class.relname 索引的名字。
tablespace name pg_tablespace.spcname 包含索引的表空间名字(如果是数据库缺省,则为NULL)。
indexdef text   索引定义(一个重建的创建命令)。

三、pg_views:

该视图提供了对数据库里每个视图的有用信息的访问途径。

名字 类型 引用 描述
schemaname name pg_namespace.nspname 包含此视图的模式名字。
viewname name pg_class.relname 视图的名字。
viewowner name pg_authid.rolname 视图的所有者的名字。
definition text   视图定义(一个重建的SELECT查询)。

四、pg_user:

该视图提供了对数据库用户的相关信息的访问。 这个视图只是pg_shadow表的公众可读的部分的视图化,但是不包含口令字段。

名字 类型 引用 描述
usename name   用户名。
usesysid int4   用户ID(用于引用这个用户的任意数字)。
usecreatedb bool   用户是否可以创建数据库。
usesuper bool   用户是否是一个超级用户。
usecatupd bool   用户是否可以更新系统表。(即使超级用户也不能这么干,除非这个字段为真。)
passwd text   口令(可能加密了)。
valuntil abstime   口令失效的时间(只用于口令认证)。
useconfig text[]   运行时配置参数的会话缺省。

五、pg_roles:

该视图提供访问数据库角色有关信息的接口。这个视图只是pg_authid表的公开可读部分的视图化,同时把口令字段用空白填充。

名字 类型 引用 描述
rolname name   角色名。
rolsuper bool   是否有超级用户权限的角色。
rolcreaterole bool   是否可以创建更多角色的角色。
rolcreatedb bool   是否可以创建数据库的角色。
rolcatupdate bool   是否可以直接更新系统表的角色。
rolcanlogin bool   如果为真,表示是可以登录的角色。
rolpassword text   不是口令(总是 ********)。
rolvaliduntil timestamptz   口令失效日期(只用于口令认证);如果没有失效期,为NULL。
rolconfig text[]   运行时配置变量的会话缺省。

六、pg_rules:

该视图提供对查询重写规则的有用信息访问的接口。

名字 类型 引用 描述
schemaname name pg_namespace.nspname 包含表的模式的名字。
tablename name pg_class.relname 规则施加影响的表的名字。
rulename name pg_rewrite.rulename 规则的名字。
definition text   规则定义(一个重新构造的创建命令)。

七、pg_settings:

该视图提供了对服务器运行时参数的访问。它实际上是SHOW和SET命令的另外一种方式。它还提供一些用SHOW不能直接获取的参数的访问,比如最大和最小值。

名字 类型 引用 描述
name text   运行时配置参数名。
setting text   参数的当前值。
category text   参数的逻辑组。
short_desc text   参数的一个简短的描述。
extra_desc text   有关参数的额外的、更详细的信息。
context text   设置这个参数的值要求的环境。
vartype text   参数类型(bool、integer、real和string)。
source text   当前参数值的来源。
min_val text   该参数允许的最小值(非数字值为NULL)。
max_val text   该参数允许的最大值(非数字值为NULL)。  

我们不能对pg_settings视图进行插入或者删除, 只能更新。对pg_settings中的一行进行UPDATE等效于在该命名参数上执行SET命令。这个修改值影响当前会话使用的数值。如果在一个最后退出的事务中发出了UPDATE命令,那么UPDATE命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束。

(原文地址:http://www.jb51.net/article/65394.htm)

[转]PostgreSQL教程(十六):系统视图详解的更多相关文章

  1. UI第十六节——UITabBarController详解

    一.UITabBarController主要用来管理你提供的content view controllers,而每一个 content view controller则负责管理自己的view层级关系, ...

  2. [转]PostgreSQL教程:系统表详解

    这篇文章主要介绍了PostgreSQL教程(十五):系统表详解,本文讲解了pg_class.pg_attribute.pg_attrdef.pg_authid.pg_auth_members.pg_c ...

  3. 无废话ExtJs 入门教程十六[页面布局:Layout]

    无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...

  4. ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解

    原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 ...

  5. 【译】ASP.NET MVC 5 教程 - 7:Edit方法和Edit视图详解

    原文:[译]ASP.NET MVC 5 教程 - 7:Edit方法和Edit视图详解 在本节中,我们继续研究生成的Edit方法和视图.但在研究之前,我们先将 release date 弄得好看一点.打 ...

  6. RabbitMQ入门教程(十六):RabbitMQ与Spring集成

    原文:RabbitMQ入门教程(十六):RabbitMQ与Spring集成 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

  7. 重装Windows系统 入门详解 - 基础教程

    重装Windows系统 入门详解 - 基础教程 JERRY_Z. ~ 2020 / 10 / 13 转载请注明出处!️ 目录 重装Windows系统 入门详解 - 基础教程 一.说明 二.具体步骤 ( ...

  8. Java基础学习总结(33)——Java8 十大新特性详解

    Java8 十大新特性详解 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API ...

  9. (转)oracle视图详解

    Oracle视图详解   一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执 ...

随机推荐

  1. Android 之 Fagment 完全解析

    Android 上的界面展示都是通过 Activity 实现的,Activity 非常常用,不再赘述.但是 Activity 也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平 ...

  2. IDEA 之 “There is no configured/running web-servers found!...”

    首次配置 IDEA 2017.1.1 与 Tomcat9.0 的 java 开发环境. 在配置成功并创建第一个 Web Application(3.1) 项目后,运行或调试正常运行. 直接在 jsp ...

  3. miniOrm

    PetaPoco.Core https://www.nuget.org/packages/PetaPoco.Core/5.1.228

  4. Java 代码行统计(转)

    package codecounter; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFound ...

  5. PYQT操作JS并且截图事例

    如何安装PYQT,可以查看我的上一篇文章:http://www.cnblogs.com/liqiu/p/3361948.html 然后运行下面的带有JS程序的Python脚本即可: #-*- codi ...

  6. 算法笔记_232:提取拼音首字母(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 在很多软件中,输入拼音的首写字母就可以快速定位到某个词条.比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”.怎样在自己的软件中实现这个功 ...

  7. Pause Web Sessions

    To pause specific sessions, add rules using FiddlerScript to the OnBeforeRequest function (except wh ...

  8. Java多线程之syncrhoized内置互斥锁的用法详解

       转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827547.html    解决并行冲突最有效的方法就是加同步锁,主要有以下几种方法:   1:动态方法 ...

  9. 实现一个简单的shared_ptr

    翻看以前的代码的时候发现一个shared_ptr的简单实现. 我记得是网上的一篇例子(好像改了一点),但是又懒得找出处了 ╮(╯▽╰)╭. 觉得这份代码足以用来初步了解shared_ptr的实现了. ...

  10. Java循环中标签的作用(转)

    转自:http://lihengzkj.iteye.com/blog/1090034 以前不知道在循环中可以使用标签.最近遇到后,举得还是有其独特的用处的.我这么说的意思是说标签在循环中可以改变循环执 ...