首页 > 解决方案 > 无法加载库“$libdir/repmgr_funcs”:错误:无法访问文件“$libdir/repmgr_funcs”:没有这样的文件或目录

问题描述

我计划将数据从 postgres 9.3 移动到 9.6,在 9.3 中它配置了 repmgr 3.0.1。尝试从 9.3 到 9.6 的 pg_upgrade 没有在 9.6 中配置 repmgr,抛出错误为

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

我试图在 postgres 9.6 上配置 repmgr 3.0.1。但是这样做 pg_upgrade 失败了,它在启动 postgres 9.6 时说明错误

致命:无法加载库“/usr/local/pgsql-9.6/lib/repmgr_funcs.so”:/usr/local/pgsql-9.6/lib/repmgr_funcs.so:未定义符号:RequestAddinLWLocks LOG:数据库系统已关闭

标签: postgresqlshutdown

解决方案


PG 9.6.0 发行说明说:

RequestAddinLWLocks() 函数被删除,并由 RequestNamedLWLockTranche() 代替。这可以更好地识别自定义 LWLock,并且不易出错。

由于这种与 PG 的不兼容,您不能使用在 PG 9.3 和 PG 9.6 上工作的 repmgr 版本。

您需要升级到更新的 repmgr 版本,并且由于不再支持 repgmr 3,您应该使用 repgmgr 4。


推荐阅读