1

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

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

我是否必须更新 JDBC 驱动程序和休眠?或者迁移是否应该顺利进行?

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

4

1 回答 1

3

阅读相关产品的发行说明。PostgreSQL 发行说明在这里,您至少应该阅读每个.0版本(8.3.0、8.4.0、9.0.0、9.1.0 和 9.2.0)的升级和兼容性建议,以确保您为任何更改做好准备你可能需要处理。有关为什么需要关心 8.2 到 8.3 等的指导,请参阅版本政策。

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

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

您很可能必须对任何本机查询进行查询更改,以便处理诸如删除隐含from的 ,standard_conforming_strings等事情。

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

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

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

  • 升级 PgJDBC
  • 升级休眠
  • 升级Tomcat
  • 升级 PostgreSQL

在每个阶段之间进行测试。这需要更多的工作,但当你试图弄清楚什么时候改变了什么时候,它会让你保持清醒。

于 2013-07-02T07:14:37.293 回答