【发布时间】:2020-10-01 08:33:45
【问题描述】:
在我的 Spring-boot 应用程序中将 Postgres 更改为 Cockroach 后,我开始遇到这个问题:
The fastpath function lo_creat is unknown.
然后记录:
org.postgresql.util.PSQLException: The fastpath function lo_creat is unknown.
at org.postgresql.fastpath.Fastpath.getID(Fastpath.java:297) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.fastpath.Fastpath.fastpath(Fastpath.java:146) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.fastpath.Fastpath.getInteger(Fastpath.java:158) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.fastpath.Fastpath.getOID(Fastpath.java:209) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:295) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:278) ~[postgresql-42.2.14.jar!/:42.2.14]
at org.postgresql.jdbc.PgPreparedStatement.setClob(PgPreparedStatement.java:1215) ~[postgresql-42.2.14.jar!/:42.2.14]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setClob(HikariProxyPreparedStatement.java) ~[HikariCP-3.4.5.jar!/:na]
在 spring-boot 中有一个简单的解决方法吗?因为它似乎不适用于蟑螂。
似乎与hibernate和DB文本字段有关。
【问题讨论】:
-
一般来说,不建议一开始就在 Postgres 中使用“大对象”。使用
bytea和PreparedStatement.setBytes()是更好的选择 -
使用模式注册应用程序......我没有机会改变:(
标签: postgresql spring-boot cockroachdb