- 論壇徽章:
- 0
|
查看表的訪問權(quán)限查可以用:
登錄到數(shù)據(jù)庫:
#\dp 表名
#\z 表名
例子:
# \z t_host
Access privileges for database "db_3as"
Schema | Table | Access privileges
--------+--------+-------------------------------------
public | t_host | {=,administrator=arwdRxt,guangxi=r}
(1 row)
這是已知表名查看其授權(quán)情況,但如何查看一個(gè)用戶的訪問權(quán)限呢?
相關(guān)信息從pg_class表中可以取得
例子:
# select relname,relacl from pg_class where relname='t_host';
relname | relacl
---------+-------------------------------------
t_host | {=,administrator=arwdRxt,guangxi=r}
(1 row)
這個(gè)方法和\z 命令獲取的信息差不多,可以限定表名,但限定用戶操作有問題!
relacl類型為 aclitem[] ;應(yīng)該是一個(gè)數(shù)組類型;可以用relacl[1], relacl[2] ...等來操作,但是在匹配用戶時(shí)遇到了困難,用like操作不了,轉(zhuǎn)換類型也出錯(cuò):cast (relacl[1] as text) 或 cast (relacl as text)均不成功。
有沒有其他思路呢?希望大家提點(diǎn)意見! |
|