Chinaunix首页 | 论坛 | 博客
  • 博客访问: 610357
  • 博文数量: 152
  • 博客积分: 2684
  • 博客等级: 少校
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-29 11:03
文章分类
文章存档

2012年(6)

2011年(96)

2010年(50)

分类: Mysql/postgreSQL

2010-10-29 17:17:06

查看哪些用户对表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
 
本博文转载于:^_^ osdba ^_^ 的博客
阅读(2064) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~