无法将模式公开的所有特权授予Postgresql中的用户

问题描述 投票:0回答:2

我尝试为用户提供所有特权,以便在公共架构中访问表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连接到数据库?

postgresql schema privileges
2个回答
1
投票

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

但是您永远不要那样做。

无需直接修改该系统目录,否则将危害PostgreSQL数据库的完整性。

要删除大对象,请使用

SELECT lo_unlink(4711);

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


1
投票

仅当使用GRANT选项被授予这些特权或您以超级用户身份授予这些特权时,才可以授予对象特权。

© www.soinside.com 2019 - 2024. All rights reserved.