无法在 postgresql 中向用户授予对架构公共的所有权限



我试图将所有权限授予用户,以便访问公共架构中的表pg_largeobject

GRANT ALL PRIVILEGES ON SCHEMA PUBLIC TO my_user ;

甚至使用这个:

GRANT ALL PRIVILEGES ON TABLE PG_LARGEOBJECT TO my_user;

返回此错误:

ERROR:  permission denied for schema public

我如何将权限授予该用户,或者我应该使用具有超级用户权限的postgres连接到数据库?

您必须是超级用户才能授予对pg_largeobjects的权限。

但你永远不应该那样做

不需要直接修改系统目录,这样做会危及PostgreSQL数据库的完整性。

要删除大对象,请使用

SELECT lo_unlink(4711);

这里4711是要删除的大对象的OID。

只有在使用grant选项授予对象特权或以超级用户身份授予这些特权时,才能授予对象特权。

最新更新