Database 恢复PostgreSQL中的默认权限
有没有办法在PostgreSQL中恢复表的默认权限 创建表后,如果在psql中启动Database 恢复PostgreSQL中的默认权限,database,postgresql,privileges,Database,Postgresql,Privileges,有没有办法在PostgreSQL中恢复表的默认权限 创建表后,如果在psql中启动\z,我会看到: Schema | Name | Type | Access privileges | Column access privileges --------+-------------+----------+---------------------------+------------------------- public | example |
\z
,我会看到:
Schema | Name | Type | Access privileges | Column access privileges
--------+-------------+----------+---------------------------+-------------------------
public | example | table | |
phpPgAdmin还说,表示例的权限是默认权限。
如果我编辑这些权限,我希望能够还原我的更改。这可能吗?
到目前为止,我尝试了
REVOKE ALL
,它在启动\z
时实际上会显示一个空的访问权限字段,但显然不起作用,因为它甚至会删除所有者的所有权限。实际上没有直接的方法可以做到这一点
您可以做的最接近的事情是这样做,然后将所有内容授予所有者(您可以在pg_class
中查找所有者)
这样做的一个问题是,默认权限的设置可能与此不同,而纯粹在后端执行此操作需要使用带有plpgsql语句的DO
。更糟糕的是,由于GRANT
不是一个计划语句,所以不能对其进行参数化,这意味着必须进行字符串插值