将 postgres 从 9.5 升级到 11 时出现问题
Problem when upgrading postgres from 9.5 to 11
我在尝试将 PostgreSQL 从 9.5 升级到 11 时遇到问题。我正在使用 initdb
来创建我的 master,当我尝试 pg_upgrade -c
时出现这样的错误:
Could not load library "$libdir/repmgr_funcs": ERROR: could not
access file "$libdir/repmgr_funcs": No such file or directory
我检查了\dx
,除了plpgsql
,没有安装任何扩展,我已经在Postgres 11中安装了新版本的repmgr。
你知道如何解决这个问题吗?
一些线索:我检查了 /usr/lib/postgresql/9.5/lib
并找到 repmgr_funcs.so
,但它是空的。那么手动删除是安全的吗?我还在复制主从。
在过去的某个时候,repmgr 有一个名为 repmgr_funcs.so
的共享库,但在最近的版本中没有。这可能会导致升级过程中出现问题。
最简单的解决方案是在升级之前卸载 repmgr,然后在新系统上重新安装它。
如果 repmgr 作为扩展安装,只需 DROP EXTENSION repmgr
在旧系统上。否则,您将不得不识别函数并单独删除它们:
SELECT proname, pronamespace::regnamespace
FROM pg_proc
WHERE probin LIKE '%repmgr%';
请先测试一下,然后再在您的实时系统上尝试。
我在尝试将 PostgreSQL 从 9.5 升级到 11 时遇到问题。我正在使用 initdb
来创建我的 master,当我尝试 pg_upgrade -c
时出现这样的错误:
Could not load library "$libdir/repmgr_funcs": ERROR: could not access file "$libdir/repmgr_funcs": No such file or directory
我检查了\dx
,除了plpgsql
,没有安装任何扩展,我已经在Postgres 11中安装了新版本的repmgr。
你知道如何解决这个问题吗?
一些线索:我检查了 /usr/lib/postgresql/9.5/lib
并找到 repmgr_funcs.so
,但它是空的。那么手动删除是安全的吗?我还在复制主从。
在过去的某个时候,repmgr 有一个名为 repmgr_funcs.so
的共享库,但在最近的版本中没有。这可能会导致升级过程中出现问题。
最简单的解决方案是在升级之前卸载 repmgr,然后在新系统上重新安装它。
如果 repmgr 作为扩展安装,只需 DROP EXTENSION repmgr
在旧系统上。否则,您将不得不识别函数并单独删除它们:
SELECT proname, pronamespace::regnamespace
FROM pg_proc
WHERE probin LIKE '%repmgr%';
请先测试一下,然后再在您的实时系统上尝试。