2011-05-30 25 views
0


在我們的應用程序中,我們使用hibernate + postgres進行持久化。最近,執行一個查詢似乎將Postgres設置爲瘋狂模式......查詢是一個簡單的2表連接,爲一些屬性添加了額外的條件子句。 在通過休眠會話執行它們時,postgres失敗,出現異常「Cache lookup failed for function 0」 - 這無濟於事!函數0的緩存查找失敗:postgres + hibernate

於是,我打開了Postgres的日誌,發現無論何時執行「選擇」查詢,我看到Postgres的日誌如下:有趣的是通過命令執行相同的查詢

"UTC ERROR: XX000: cache lookup failed 0" 
"UTC Location: get_func_retset, lsyscache.c:1368" 

行不會導致此問題。有沒有人遇到過這種情況?如果是這樣,你是如何解決它的?

任何意見/建議高度讚賞! 謝謝

+1

將您的問題發佈到[Postgres mailing lists](http://www.postgresql.org/community/lists/)(我建議[pgsql-general](http:/ /archives.postgresql.org/pgsql-general/)或[pgsql-bugs](http://archives.postgresql.org/pgsql-bugs/)如果你確定這是Postgres中的問題),但要準備提供[信息](http://wiki.postgresql.org/wiki/Guide_to_reporting_problems)。 – 2011-05-30 08:50:05

回答

0

找到了解決方案。我們在postgres中創建了自定義的函數/操作符,所以碰巧其中一個表列是char而不是varchar。將這些列更改爲varchar解決了問題