Chinaunix首页 | 论坛 | 博客
  • 博客访问: 858028
  • 博文数量: 150
  • 博客积分: 5123
  • 博客等级: 大校
  • 技术积分: 1478
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:03
文章分类

全部博文(150)

文章存档

2011年(2)

2010年(139)

2009年(9)

分类:

2010-09-01 10:06:22

查看哪些用户对表t1有哪些权限:
part00=# \z t1
                           Access privileges
 Schema | Name | Type  |  Access privileges  | Column access privileges 
--------+------+-------+---------------------+--------------------------
 public | t1   | table | osdba=arwdDxt/osdba+| 
        |      |       | scott=D/osdba       | 

part00=# \dp t1
                           Access privileges
 Schema | Name | Type  |  Access privileges  | Column access privileges 
--------+------+-------+---------------------+--------------------------
 public | t1   | table | osdba=arwdDxt/osdba+| 
        |      |       | scott=D/osdba       | 
(1 row)
可以看出有两个用户osdba和scott,osdba用arwdDxt权限,scott用户有D权限。
字母代表的权限的意思如下:
a: insert
r: select
w: update
d: delete
x: references
t: trigger
D: truncate

也可以查询系统视图pg_class
part00=# select relname,relacl from pg_class where relname='t1';
 relname |               relacl                
---------+-------------------------------------
 t1      | {osdba=arwdDxt/osdba,scott=D/osdba}
(1 row)

如果想查询用户scott有哪些权限,可以查询系统表information_schema.role_table_grants:
part00=# select * from INFORMATION_SCHEMA.role_table_grants where grantee='scott';
 grantor | grantee | table_catalog | table_schema | table_name | privilege_type | is_grantable | with_hierarchy 
---------+---------+---------------+--------------+------------+----------------+--------------+----------------
 osdba   | scott   | part00        | public       | t4         | SELECT         | NO           | NO
 osdba   | scott   | part00        | public       | t1         | TRUNCATE       | NO           | NO



阅读(8207) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~