PostgreSQL:大对象的权限被拒绝

Jak*_*ke 3 sql postgresql hibernate jdbc

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

开发环境没有报错。我假设这是satsging db 的权限问题。但是,我从来没有见过这个错误,我不知道去哪里找。任何人都可以建议吗?

引起:java.io.IOException:org.postgresql.util.PSQLException:错误:在 org.postgresql.largeobject.BlobInputStream.read(BlobInputStream.java:123) 在 java.io.InputStream.read 的大对象 109138 的权限被拒绝(InputStream.java:170) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) at sun.nio.cs.StreamDecoder。 read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at org.hibernate.type.descriptor.java.DataHelper.extractString(DataHelper.java:71)

Lau*_*lbe 6

从 PostgreSQL 9.0 开始,大对象有权限(lomacl表的列pg_largeobject_metadata)。默认情况下,除了所有者(列lomowner)之外的任何人都没有对大对象的任何权限。

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


Nik*_*rov 5

postgresql.conf更改lo_compat_privilegeson. 这对我有用