当尝试将PostgreSQL从9.5升级到11时,我在使用PostgreSQL时遇到问题。我使用initdb
做我的主人,而当我尝试pg_upgrade -c
时出现了这样的错误:< / p>
无法加载库“ $ libdir / repmgr_funcs”:错误:无法 访问文件“ $ libdir / repmgr_funcs”:没有这样的文件或目录
我已经检查了\dx
,除了plpgsql
之外没有安装任何扩展程序,并且我已经在Postgres 11中安装了新版本的repmgr。
您知道如何解决此问题吗?
一些线索:我检查了/usr/lib/postgresql/9.5/lib
并发现了repmgr_funcs.so
,但是它是空的。这样可以安全地手动删除吗?我仍在将主复制到从。
答案 0 :(得分:0)
在过去的某个时候,repmgr有一个名为repmgr_funcs.so
的共享库,但在最新版本中没有。这可能会导致升级过程中出现问题。
最简单的解决方案是在升级之前先卸载repmgr,然后在新系统上重新安装。
如果repmgr作为扩展安装,只需在旧系统上DROP EXTENSION repmgr
。否则,您将不得不识别功能并将其单独删除:
SELECT proname, pronamespace::regnamespace
FROM pg_proc
WHERE probin LIKE '%repmgr%';
请在进行实时系统测试之前对其进行测试。