postgresql系统视图/表/索引/角色

本文详细解读PostgreSQL中的pg_tables系统视图,包括表信息查询,以及pg_indexes用于索引管理和pg_user/pg_roles/pg_rules涉及的数据库权限。了解如何操作索引、视图和用户角色权限是数据库管理员的基础技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pg_tables系统视图
字段    描述
schemaname    包含表的模式名
tablename    表名
tableowner    表所有者
tablespace    表的表空间名字
hasindexes    表是否有索引
hasrules    表是否有规则
hastriggers    表是否有触发器
##查看某个模式(如plublic)下的表信息
select * from pg_tables where schemaname='public';

pg_indexes
提供对数据库总的每个索引的有用信息

字段    描述
schemaname    模式名
tablename    表名
indexname    索引名
tablespace    表空间名
indexdef    索引定义
##创建索引(默认创建B-tree索引)
create index idx_name on tb_name(col1,col2,...);

##索引查询
select * from pg_indexes where tablename='tb_name';

##删除索引
drop index idx_name;


pg_views
字段    描述
schemaname    模式名
viewname    视图名
viewowner    视图所有者名
definition    试图定义
pg_user
pg_user信息来源于pg_shadow系统表

字段    描述
usename    用户名
usesysid    用户id
usecreatedb    用户是否能创建数据库
usesuper    用户是否是超级用户
usecrepl    用户是否可以开启流复制以及将系统转入/转出备份模式
usebypassrls    用户是否避开每个行级安全策略
passwd    不是口令(总是为********)
valuntil    口令失效的时间(只用于口令认证)
useconfig    运行时配置变量的会话默认值
pg_roles
pg_roles提供访问数据库角色有关信息的接口,它是pg_authid表的公开可读部分视图

字段    描述
rolname    角色名
rolsuper    是否有大超级用户权限角色
rolinherit    是否自动继续属主角色权限角色
rolcreaterole    是否可以创建更多角色的角色
rolcreatedb    是否可以创建数据库的角色
rolcatupdate    是否可以直接更新系统表的角色
rolcanlogin    是否可以登录的角色
rolcanlimit    对于的可以登录的角色的,允许发起的最大并发连接数,-1表示无限制
rolpassword    不是口令(总是为********)
rolvaliduntil    口令失效的时间
rolconfig    角色运行时配置变量的会话默认值
oid    角色id
pg_rules
字段    描述
schemaname    模式名
tablename    表名
rulename    规则名
definition    规则定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值