1

Postgres 升级(10.9 到 12.2)偶尔会失败

  1. 我们已将 postgres 集群从 10.5 升级到 12.2
  2. 10.5 版本还具有扩展库 PLV8。但是我们想在升级版(12.2)中去掉那个扩展
  3. 在升级之前,我们删除了扩展(PLV8)并删除了所有相关的存储过程。
  4. 使用 12.2 版本创建新集群,然后从该二进制位置使用 pg_upgrade 命令。
  5. 首先我们使用“检查”,如果成功则使用“链接”进行升级。

但我们观察到,升级有时会在“检查”步骤 ( pg_upgrade --check) 中失败,而有时在“链接”( pg_upgrade --link) 步骤中会失败,尽管检查步骤是成功的。

带有以下日志

pg_upgrade --check失败,输出如下

[-----------------------------]
[Performing Consistency Checks]
[Checking cluster versions                                   ok]
[Checking database user is the install user                  ok]
[Checking database connection settings                       ok]
[Checking for prepared transactions                          ok]
[Checking for reg* data types in user tables                 ok]
[Checking for contrib/isn with bigint-passing mismatch       ok]
[Checking for tables WITH OIDS                               ok]
[Checking for invalid "sql_identifier" user columns          ok]
[]
[*failure*]
[]

“检查是否存在所需库”失败

其他一些时候pg_upgrade --link失败,输出低于

[-----------------------------]
[][Checking cluster versions                                   ok]
[Checking database user is the install user                  ok]
[][Checking database connection settings                       ok]
[][Checking for prepared transactions                          ok]
[][Checking for reg* data types in user tables                 ok]
[][Checking for contrib/isn with bigint-passing mismatch       ok]
[][Checking for tables WITH OIDS                               ok]
[][Checking for invalid "sql_identifier" user columns          ok]
[][Creating dump of global objects                             ok]
[][Creating dump of database schemas]
[][  postgres]

[][*failure*]

“检查是否存在所需库”失败

笔记:

  1. 失败是零星的
  2. 在“检查所需库”阶段,链接和检查均失败
  3. 问题是只在虚拟机上。
4

0 回答 0