- 时间:2020-08-07 09:44 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:PostgreSQL教程(十六):系统视图详解
[b]一、pg_tables:[/b]
该视图提供了对有关数据库中每个表的有用信息地访问。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| 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 |
如果表有触发器,则为真。 |
[b]二、pg_indexes:[/b]
该视图提供对数据库中每个索引的有用信息的访问。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| schemaname |
name |
pg_namespace.nspname |
包含表和索引的模式的名字。 |
| tablename |
name |
pg_class.relname |
索引所在表的名字。 |
| indexname |
name |
pg_class.relname |
索引的名字。 |
| tablespace |
name |
pg_tablespace.spcname |
包含索引的表空间名字(如果是数据库缺省,则为NULL)。 |
| indexdef |
text |
|
索引定义(一个重建的创建命令)。 |
[b]三、pg_views:[/b]
该视图提供了对数据库里每个视图的有用信息的访问途径。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| schemaname |
name |
pg_namespace.nspname |
包含此视图的模式名字。 |
| viewname |
name |
pg_class.relname |
视图的名字。 |
| viewowner |
name |
pg_authid.rolname |
视图的所有者的名字。 |
| definition |
text |
|
视图定义(一个重建的SELECT查询)。 |
[b]四、pg_user:[/b]
该视图提供了对数据库用户的相关信息的访问。 这个视图只是pg_shadow表的公众可读的部分的视图化,但是不包含口令字段。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| usename |
name |
|
用户名。 |
| usesysid |
int4 |
|
用户ID(用于引用这个用户的任意数字)。 |
| usecreatedb |
bool |
|
用户是否可以创建数据库。 |
| usesuper |
bool |
|
用户是否是一个超级用户。 |
| usecatupd |
bool |
|
用户是否可以更新系统表。(即使超级用户也不能这么干,除非这个字段为真。) |
| passwd |
text |
|
口令(可能加密了)。 |
| valuntil |
abstime |
|
口令失效的时间(只用于口令认证)。 |
| useconfig |
text[] |
|
运行时配置参数的会话缺省。 |
[b]五、pg_roles:[/b]
该视图提供访问数据库角色有关信息的接口。这个视图只是pg_authid表的公开可读部分的视图化,同时把口令字段用空白填充。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| rolname |
name |
|
角色名。 |
| rolsuper |
bool |
|
是否有超级用户权限的角色。 |
| rolcreaterole |
bool |
|
是否可以创建更多角色的角色。 |
| rolcreatedb |
bool |
|
是否可以创建数据库的角色。 |
| rolcatupdate |
bool |
|
是否可以直接更新系统表的角色。 |
| rolcanlogin |
bool |
|
如果为真,表示是可以登录的角色。 |
| rolpassword |
text |
|
不是口令(总是 ********)。 |
| rolvaliduntil |
timestamptz |
|
口令失效日期(只用于口令认证);如果没有失效期,为NULL。 |
| rolconfig |
text[] |
|
运行时配置变量的会话缺省。 |
[b]六、pg_rules:[/b]
该视图提供对查询重写规则的有用信息访问的接口。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| schemaname |
name |
pg_namespace.nspname |
包含表的模式的名字。 |
| tablename |
name |
pg_class.relname |
规则施加影响的表的名字。 |
| rulename |
name |
pg_rewrite.rulename |
规则的名字。 |
| definition |
text |
|
规则定义(一个重新构造的创建命令)。 |
[b]七、pg_settings:[/b]
该视图提供了对服务器运行时参数的访问。它实际上是SHOW和SET命令的另外一种方式。它还提供一些用SHOW不能直接获取的参数的访问,比如最大和最小值。
| [b]名字[/b] |
[b]类型[/b] |
[b]引用[/b] |
[b]描述[/b] |
| 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命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束。