簡體   English   中英

PostgreSQL:對大對象的權限被拒絕

[英]PostgreSQL: Permission denied for large object

從我的開發遷移到登台環境時,我在登台服務器上對PostgreSQL數據庫的hibernate sql調用期間遇到以下錯誤。

開發環境中沒有錯誤。 我假設它是飽和數據庫的特權問題。 但是,我從未見過這個錯誤,我不知道在哪里看。 任何人都可以建議嗎?

引起:java.io.IOException:org.postgresql.util.PSQLException:錯誤:java.io.InputStream.read上org.postgresql.largeobject.BlobInputStream.read(BlobInputStream.java:123)中大對象109138的權限被拒絕(InputStream.java:170)sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284),位於sun.nio.cs.StreamDecoder的sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)。在java.io.InputStreamReader.read(InputStreamReader.java:184)中讀取(StreamDecoder.java:178)org.hibernate.type.descriptor.java.DataHelper.extractString(DataHelper.java:71)

從PostgreSQL 9.0開始,大對象具有權限(表pg_largeobject_metadatalomacl )。 默認情況下,除了所有者(列lomowner )之外的任何人都沒有對大對象的任何權限。

所以它似乎是一個版本遷移問題(例如,你沒有使用較新版本的pg_dump來創建轉儲),或者你試圖在臨時環境中以不同的用戶身份訪問大對象。

postgresql.conf lo_compat_privileges更改為on 這對我有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM