PostgreSQL学习手册(系统视图)

Stella981
• 阅读 609

一、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命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这