postgresql - 将 postgres 从 9.5 升级到 11 时出现问题
问题描述
尝试将 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
了,但它是空的。那么手动删除是否安全?我仍在将主服务器复制到从服务器。
解决方案
在过去的某个时候,repmgr 有一个名为 的共享库repmgr_funcs.so
,但在最近的版本中没有。这可能会导致升级过程中出现问题。
最简单的解决方案是在升级之前卸载 repmgr,然后在新系统上重新安装。
如果 repmgr 作为扩展安装,只需DROP EXTENSION repmgr
在旧系统上安装即可。否则,您将必须识别功能并单独删除它们:
SELECT proname, pronamespace::regnamespace
FROM pg_proc
WHERE probin LIKE '%repmgr%';
请先测试一下,然后再在您的实时系统上进行尝试。
推荐阅读
- javascript - 登录后无法从 React.js 获取 Passport.js req.user
- html - 如何在 React 中使particle.js 全屏显示?
- android - 无法在具有 targetSdk 29 的应用程序中获取 ContentResolver.openInputStream(Uri uri) 并在具有 API 29 的设备上获取 compileSdk 29
- python - Pandas 数据框从 as_matrix 移动到 to_numpy
- reactjs - 深度嵌套 API 打印
- c# - 如何知道 URL 来自浏览器的地址栏或 ajax 调用?
- django - Django Rest - 更新不保存
- python - Python time.sleep() DRY 问题
- r - 如何循环列表的名称?
- python - 其他文本之后的文本的XPath?