如何查看PG数据库的权限情况

发布时间:2021-11-09 10:30:44 作者:小新
来源:亿速云 阅读:1720

这篇文章主要为大家展示了“如何查看PG数据库的权限情况”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何查看PG数据库的权限情况”这篇文章吧。

pg 的权限 存储在几个地方. 

1. 用户权限
对 实例的登录或者对db 的ddl 权限方面 是放在 pg_role 表中的.

pconline=> select * from pg_roles ;
-[ RECORD 1 ]--+---------------------------------
rolname        | repl
rolsuper       | f
rolinherit     | t
rolcreaterole  | f
rolcreatedb    | f
rolcatupdate   | f
rolcanlogin    | t
rolreplication | t
rolconnlimit   | -1
rolpassword    | ********
rolvaliduntil  | 
rolconfig      | 
oid            | 16384


针对 TABLE ,  COLUMN  , 函数, 自定义函数, 以及usage 权限,  是存在information_schema下的表中的.

information_schema 存储了当前db 下面的对象的权限. 例如: 
select * from information_schema.role_table_grants  where grantee='lsliang';
-[ RECORD 2 ]--+-----------------------------------------
grantor        | pc
grantee        | lsliang
table_catalog  | pc
table_schema   | pc
table_name     | temp_20160513
privilege_type | SELECT
is_grantable   | NO
with_hierarchy | YES



2. 对象上的权限
如果要查看某个表上 有哪些权限. 

可以用命令行命令: 

pconline=> \dp temp_20160513 
Access privileges
-[ RECORD 1 ]------------+-----------------------------
Schema                   | pc
Name                     | temp_20160513
Type                     | table
Access privileges        | pc=arwdDxt/pc
                         | pc_reader=r/pc
                         | pgreader_pc=r/pc
                         | u1=r/pc
                         | u2=r/pc
                         | user3=r/pc
Column access privileges | 




其中的权限字段 arwdDxt

a = insert 
r = select 
w= update
d = delete
D = truncate
x = reference
t = trigger


还有一个是查询PG_CLASS 系统视图: 

pconline=> select * from pg_class where relname='temp_20160513'; 
-[ RECORD 1 ]--+----------------------------------------------------------------------------------------------------------------------------------------------------
relname        | temp_20160513
relnamespace   | 24585
reltype        | 5471707
reloftype      | 0
relowner       | 24577
relam          | 0
relfilenode    | 5491139
reltablespace  | 0
relpages       | 285
reltuples      | 64310
relallvisible  | 285
reltoastrelid  | 0
reltoastidxid  | 0
relhasindex    | f
relisshared    | f
relpersistence | p
relkind        | r
relnatts       | 1
relchecks      | 0
relhasoids     | f
relhaspkey     | f
relhasrules    | f
relhastriggers | f
relhassubclass | f
relfrozenxid   | 1102384891
relacl         | {pc=arwdDxt/pc,pc_reader=r/pc,pgreader_pc=r/pc,u1=r/pc,u2=r/pc,user3=r/pc}

以上是“如何查看PG数据库的权限情况”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. PG数据库部署
  2. 查看kafka消息队列的积压情况

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pg数据库

上一篇:Amazon RSD如何查看slow_log

下一篇:怎么理解数据库中的row cache lock等待事件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》