hibernate - 升级到 Postgres 9.2(包括 Hibernate)和 Tomcat 7

标签 hibernate postgresql tomcat tomcat7 tomcat6

我们计划从 PostgreSQL 8.2 升级到 9.2.4,Tomcat 从 6 升级到 7。

我已经完成了各种迁移指南,想问一下您是否有任何经验以及是否有任何重大变化(在代码、方法等方面)。

我必须更新 JDBC 驱动程序和 Hibernate 吗?或者迁移应该顺利进行吗?

有什么需要特别注意的吗?欢迎任何提示。

最佳答案

阅读相关产品的发行说明。 PostgreSQL release notes are here您至少应该阅读每个 .0 的升级和兼容性建议版本(8.3.0、8.4.0、9.0.0、9.1.0 和 9.2.0)以确保您已准备好应对可能需要处理的任何更改。查看version policy有关为什么需要关心 8.2 到 8.3 等的指导。

对于 PostgreSQL,您绝对必须遵循正确的升级过程。磁盘格式数据库从 8.2 到 9.2 不兼容。您必须转储并重新加载,或使用更复杂的基于复制的迁移方法,使用第 3 方复制工具(如 Slony-I)。

(PostgreSQL 8.4 和更新版本可以使用 pg_upgrade 工具就地升级,但这不适用于 8.2 之前的数据库。从 8.2 到 8.4 需要转储和重新加载,所以你不能只需更新到 8.4,然后 pg_upgrade 到 9.2)。

您很可能必须对任何 native 查询进行查询更改,以便处理诸如删除隐式 from 之类的事情。 , standard_conforming_strings

更新 JDBC 驱动程序至关重要,因为新驱动程序理解 standard_conforming_strings , hex bytea_output 的格式,最重要的是它了解更新和更改的系统目录格式。不要尝试在新服务器上使用旧的 PgJDBC。

同样,更新 Hibernate 将是一个非常好的主意,因为新的 Hibernate 将更新其 PostgreSQL 方言,更新与 Tomcat 7 的兼容性等。

我建议分阶段进行此升级。

  • 升级PgJDBC
  • 升级 hibernate
  • 升级Tomcat
  • 升级 PostgreSQL

在每个阶段之间进行测试。这将需要更多的工作,但当您试图弄清楚是什么变化破坏了某些东西时,它会让您保持理智。

关于hibernate - 升级到 Postgres 9.2(包括 Hibernate)和 Tomcat 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419185/

相关文章:

tomcat - Tomcat 7.0.41 上的默认 Apex 应用程序

java - hibernate 更新不起作用

java - 您可以向 Hibernate 实体添加在序列化时被忽略的 getter 和 setter 吗?

java - 无法在我的 JSP 中查看 ActionMessages 以及验证问题

php - PDO bindValue 不允许特定参数通过 (PHP)

java.lang.VerifyError : Bad local variable type by deploying war file

java - 使用 hibernate 锁定表

ruby-on-rails - Rails 控制台不会加载,因为扩展尚未构建。有任何想法吗?

ruby-on-rails - Heroku - 如何从数据库中提取数据到本地数据库?

java - 在上下文问题中添加系统参数和应用程序