如何在单个 Java 应用程序中使用两个 PostgreSQL DB 版本?
Posted
技术标签:
【中文标题】如何在单个 Java 应用程序中使用两个 PostgreSQL DB 版本?【英文标题】:How to use two PostgreSQL DB versions in a single Java Application? 【发布时间】:2021-10-29 19:53:55 【问题描述】:在我们的 Java 项目中,我们已经连接了两个 DB,以使用两个连接池获取数据。
但是现在我们的一个数据库升级到了 PostgreSQL 12,而另一个数据库使用了旧的 PostgreSQL 8 版本。
我们在项目中导入了“postgresql-42.2.11.jar”,这个jar可以连接两个版本还是应该导入旧的“postgresql-8.1-407.jdbc3.jar”。 jar”。如果是这样,我们会因为使用两个 PostgreSQL jar 而出现任何错误吗?
但令人惊讶的是,该项目在本地系统中工作,完美地将两个版本的 DB 与一个 jar 连接(“postgresql-42.2.11.jar”),只是抛出一个警告“警告 [http-nio-8084-exec-55] org.postgresql.jdbc.PgConnection。不支持的服务器版本:8.1.11",
但在 linux 服务器上运行后它无法正常工作,它会抛出一个突然的错误,如“Exception org.postgresql.util.PSQLException: FATAL: invalid value for parameter "TimeZone": "Asia/Kolkata"”。
【问题讨论】:
新驱动程序应该可以使用旧数据库。也许旧安装中没有定义那个时区。 【参考方案1】:在我看来,“加尔各答”拼写直到 2008 年 6 月才添加,首次出现在 v8.1.12 中,比您使用的版本更新。
【讨论】:
好的,但是我应该怎么做才能解决这个问题。不过,感谢您的回答。 升级非常旧的数据库,或者如果您在某处明确设置时区,请将其更改为采用旧拼写。以上是关于如何在单个 Java 应用程序中使用两个 PostgreSQL DB 版本?的主要内容,如果未能解决你的问题,请参考以下文章
我如何在单个提取请求中调用两个 NSPredicate。核心数据 iOS Swift