【PG如何查看用户拥有的各类对象的操作权限】
    		       		warning:
    		            这篇文章距离上次修改已过426天,其中的内容可能已经有所变动。
    		        
        		                
                在PostgreSQL中,您可以使用几个系统视图来查看用户拥有的各类对象的操作权限。以下是一些查询示例:
- 查看用户拥有的数据库对象(表、视图、序列等)的权限:
 
SELECT
  relname,
  has_table_privilege(user, relname, 'select, insert, update, delete') AS permissions
FROM
  pg_class
WHERE
  relowner = (SELECT usesysid FROM pg_user WHERE usename = 'your_user_name')
  AND relkind = 'r';- 查看用户拥有的函数的权限:
 
SELECT
  proname,
  has_function_privilege(user, proname, 'execute') AS permissions
FROM
  pg_proc
WHERE
  proowner = (SELECT usesysid FROM pg_user WHERE usename = 'your_user_name');- 查看用户拥有的大型对象的权限:
 
SELECT
  loid,
  has_largeobject_privilege(loid, 'read, write') AS permissions
FROM
  pg_largeobject
WHERE
  loowner = (SELECT usesysid FROM pg_user WHERE usename = 'your_user_name');请将 'your_user_name' 替换为您想要查询的实际用户名。这些查询将返回用户拥有的对象以及它们的操作权限。
评论已关闭