PostgreSQL的系统表

1)pg_authid表:

包含有关数据库认证标识符(角色)的信息。一个角色体现"用户"和"组"的概念。一个用户实际上只是一个设置了 rolcanlogin 标志的角色。任何角色(不管设置了 rolcanlogin)标志)都可以有其它角色做为成员;因为用户标识是集群范围的,pg_authid 在一个集群里所有的数据库之间是共享的:每个集群只有一个 pg_authid 拷贝,而不是每个数据库一个。

字段描述:

rolname:角色名称

rolsuper:角色拥有超级用户权限

rolinherit:角色自动继承其所属角色的权限

rolcreaterole:角色可以创建更多角色

rolcreatedb:角色可以创建数据库

rolcatupdate:角色可以直接更新系统表。如果没有设置这个字段为真,即使超级用户也不能这么做。

rolcanlogin:角色可以登录,也就是说,这个角色可以给予会话认证标识符。

rolconnlimit:对于可以登录的角色,限制其最大并发连接数量。-1 表示没有限制。

rolpassword:口令(可能是加密的);如果没有则为 NULL

rolvaliduntil:口令失效时间(只用于口令认证);如果没有失效期,则为 NULL

2)pg_auth_members表:

显示角色之间的成员关系。任何非闭环的关系集合都是允许的。因为用户标识是集群范围的,pg_auth_members 是在一个集群里的所有数据库之间共享的:每个集群里只有一个 pg_auth_members 拷贝,而不是每个数据库一个。

字段描述:

roleid:拥有有成员的角色的 ID【pg_authid.oid】

member:属于 roleid 角色的一个成员的角色的 ID【pg_authid.oid】

grantor:赋予此成员关系的角色的 ID【pg_authid.oid】

3)pg_database表:

表存储关于可用数据库的信息。和大多数系统表不同,pg_database 是在一个集群里的所有数据库共享的:每个集群只有一份 pg_database 拷贝,而不是每个数据库一份。

字段描述:

datname:数据库名字

datdba:数据库所有人,通常为其创建者【pg_authid.oid】

4)pg_class表:

表记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅 pg_index)、序列、视图、复合类型和一些特殊关系类型

字段描述:

relname:表、索引、视图等的名字

relnamespace:包含这个关系的名字空间(模式)的 OID【pg_namespace.oid】

relpersistence:p = 永久表,u = 无日志表, t = 临时表

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

5)pg_description表:

可以给每个数据库对象存储一个可选的描述(注释)。你可以用 COMMENT 命令操作这些描述,并且可以用 psql 的 \d 命令查看。许多内置的系统对象的描述提供了 pg_description 的初始内容

字段描述:

objoid:这条描述所描述的对象的 OID 【任意 oid 属性】

classoid:这个对象出现的系统表的 OID【pg_class.oid】

objsubid:对于一个表字段的注释,它是字段号(objoid 和 classoid 指向表自身)。对于其它对象类型,它是零。

description:作为对该对象的描述的任意文本

6)pg_index表:

存储索引的具体信息

字段描述:

indexrelid:索引在pg_class里记录的oid

indrelid:使用这个表在pg_class里的记录的oid

7)pg_tablespace表:

存储有关可用的表空间的信息。表可以放置在特定的表空间里,以帮助管理磁盘布局。与大多数系统表不同,pg_tablespace 在一个集群中的所有数据库之间共享:每个集群只有一份 pg_tablespace 的拷贝,而不是每个数据库一个。

字段描述:

spcname:表空间名

spcowner:表空间的所有者

8)pg_namespace表:

模式/存储名字空间。名字空间是 SQL 模式下层的结构:每个名字空间有独立的关系,类型等集合但并不会相互冲突

字段描述:

nspnamce:名空间名称

nspowner:名空间的所有者

9)pg_attribute表:

存储关于表的字段的信息。数据库里每个表的每个字段都在 pg_attribute 里有一行。还有用于索引,以及所有在 pg_class 里有记录的对象。

字段描述:

attrelid:字段所属的表oid【pg_class.oid】

attname:表字段名

atttypid:字段数据类型oid【pg_type.oid】

attnum:字段数目。普通字段是从 1 开始计数的。系统字段(比如 oid)有(任意)正数。

10)pg_inherits:

存储表的分区关系

字段描述:

inhrelid:子表的OID【pg_class.oid】

inhparent:父表的OID【pg_class.oid】

inhseqno:如果一个子表存在多个直系父表(多重继承),这个数字表明此继承字段的排列顺序。计数从1开始

11)pg_tables:

提供对数据库中每个表的信息的访问

字段描述:

schemaname:模式名称【pg_namespace.nspname】

tablename:表名【pg_class.relname】

tableowner:表拥有者【pg_authid.rolname】

tablespace:表空间名称

12)pg_type:

存储有关数据类型的信息。基本类型和枚举类型(标量类型)是用CREATE TYPE创建的, 域是使用CREATE DOMAIN创建的。同时还为数据库中每个表自动创建一个复合类型, 以表示该表的行结构。还可以用CREATE TYPE AS创建复合类型.

字段描述:

typname:数据类型名

typtype:对于基础类型是b,对于复合类型是c(比如,一个表的行类型)。 对于域类型是d,E的枚举类型,对于伪类型是p。

typrelid:如果是复合类型(参阅typtype)那么这个字段指向pg_class中定义该表的行。对于自由存在的复合类型,pg_class记录并不表示一个表,但是总需要它来查找该类型连接的pg_attribute记录。对于非复合类型为零。[pg_class.oid]

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值