我必须列出特定用户的所有表格。
当我查询时:
select * from pg_user;
我获得了数据库中的所有用户。我想查看其中一个特定用户可以看到哪些表。
答案 0 :(得分:0)
pg_tables
让它变得非常简单。
所有表格:
select * from pg_tables where schemaname !~ '^pg_|^information_schema'
或针对特定用户/角色:
select * from pg_tables where tableowner = 'specificuser'
答案 1 :(得分:-1)
用户权限:
select * from dba_tab_privs where GRANTEE ='username'
或
select *
from dba_tab_privs
where GRANTEE ='put user name'
and privilege = 'SELECT';
注意:您必须使用用户ID代替用户名。
对于PostgreSQL:
select has_table_privilege('postgres','table1','select');