PostgreSQL教程(十六):系统视图详解
数据库  /  管理员 发布于 5年前   230
一、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命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号