1

尝试将 PostgreSQL 从 9.5 升级到 11 时,我在使用 PostgreSQL 时遇到问题。我正在使用它initdb来制作我的主人,当我尝试这样做时pg_upgrade -c出现如下错误:

无法加载库“$libdir/repmgr_funcs”:错误:无法访问文件“$libdir/repmgr_funcs”:没有这样的文件或目录

我检查了\dx,除了 没有安装扩展plpgsql,并且我已经在 Postgres 11 中安装了新版本的 repmgr。

你知道如何解决这个问题吗?

一些线索:我检查/usr/lib/postgresql/9.5/lib并找到repmgr_funcs.so了,但它是空的。那么手动删除是否安全?我仍在将主服务器复制到从服务器。

4

1 回答 1

1

在过去的某个时候,repmgr 有一个名为 的共享库repmgr_funcs.so,但在最近的版本中没有。这可能会导致升级过程中出现问题。

最简单的解决方案是在升级之前卸载 repmgr,然后在新系统上重新安装。

如果 repmgr 作为扩展安装,只需DROP EXTENSION repmgr在旧系统上安装即可。否则,您将必须识别功能并单独删除它们:

SELECT proname, pronamespace::regnamespace
FROM pg_proc
WHERE probin LIKE '%repmgr%';

请先测试一下,然后再在您的实时系统上进行尝试。

于 2019-09-10T02:41:11.680 回答