Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL:大型对象的权限被拒绝_Sql_Postgresql_Hibernate_Jdbc - Fatal编程技术网

PostgreSQL:大型对象的权限被拒绝

PostgreSQL:大型对象的权限被拒绝,sql,postgresql,hibernate,jdbc,Sql,Postgresql,Hibernate,Jdbc,从开发环境迁移到登台环境时,我在登台服务器上对PostgreSQL数据库进行hibernate sql调用时遇到以下错误 开发环境中没有错误。我假设这是一个关于饱和数据库的特权问题。然而,我从未见过这种错误,我不知道该去哪里寻找。有人能提供建议吗 原因:java.io.IOException:org.postgresql.util.psqleexception:错误:拒绝大对象109138的权限 位于org.postgresql.largeobject.BlobInputStream.read(

从开发环境迁移到登台环境时,我在登台服务器上对PostgreSQL数据库进行hibernate sql调用时遇到以下错误

开发环境中没有错误。我假设这是一个关于饱和数据库的特权问题。然而,我从未见过这种错误,我不知道该去哪里寻找。有人能提供建议吗

原因:java.io.IOException:org.postgresql.util.psqleexception:错误:拒绝大对象109138的权限 位于org.postgresql.largeobject.BlobInputStream.read(BlobInputStream.java:123) 读取(InputStream.java:170) 位于sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 位于sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 位于sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 位于java.io.InputStreamReader.read(InputStreamReader.java:184) 位于org.hibernate.type.descriptor.java.DataHelper.extractString(DataHelper.java:71)


自PostgreSQL 9.0以来,大型对象具有权限(表
pg\u largeobject\u metadata
的列
lomacl
)。默认情况下,除了所有者(列
lomowner
)之外,没有人对大型对象有任何权限


因此,这似乎是一个版本迁移问题(例如,您没有使用较新版本的
pg_dump
来创建转储),或者您正试图在登台环境中以不同的用户身份访问大型对象。

postgresql.conf
中更改
低兼容性特权
on
。这对我来说很有效

可能是一个原因。这里回答了一个类似的问题,为了快速解决这个问题,您可以在
postgresql.conf
中添加
locompat\u privilege=on
,您应该添加作为答案,就是这样。对我来说是后者。这是一个快速修复(从9迁移到10)