问题标签 [repmgr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
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
了,但它是空的。那么手动删除是否安全?我仍在将主服务器复制到从服务器。
docker - docker 上的 repmgrd 和 supervisord - 失去父母?
我用PostgreSQL
和创建了一个 Docker 映像repmgrd
,所有这些都用supervisor
.
我现在的问题是,当它启动时,repmgrd
产生的人supervisor
似乎有点死了,而另一个人在它的位置。这导致我无法使用它来控制它supervisorctl
,而不得不解决pkill
或类似地管理它。
Dockerfile
所做的pg-docker-entrypoint.sh
只是启动supervisord -c /etc/supervisor/supervisord.conf
.
supervisord.conf
略repmgr_helper.sh
多于/usr/lib/postgresql/10/bin/repmgrd --verbose
。
repmgr.conf
ps
输出
如您所见,该repmgrd
进程现在是入口点的子进程,而不是supervisor
(如sshd
和postgres
)。我尝试过直接启动命令(没有“帮助程序”),我尝试过使用bash -c
,我尝试过指定/usr/bin/repmgrd
为可执行文件,但无论我最终尝试什么,我总是会得到这个结果。
那么我的问题是双重的:为什么会发生这种情况以及我可以做些什么来控制这个repmgrd
过程supervisor
。
编辑:正如我--daemonize=false
在启动 repmgrd 时尝试过的那样。
这种帮助,但不完全。查看输出:
在启动时,该进程保持为supervisor
,但停止它只会杀死repmgr_helper.sh
通往“真实”进程以保持活动状态并被重新分配1
为其父进程。
这并不理想,因为现在我遇到了一个奇怪的情况,即进程是活跃的,但我supervisor
认为它不是。因此发出一个将supervisorctl start jm:repmgrd
失败的说法
postgresql - repmgrd 自动节点重新加入
我已将 repmgr5 安装到 Postgresql 12 数据库中,其中 repmgrd 有 2 个节点,一个是主节点,另一个是备用节点。
当我尝试通过在主节点上禁用 postgresql 服务使 postgresql 自动进行故障转移时。切换成功,但旧主节点在新主节点之后停止,并且 2 个节点之间的复制也被破坏。
有没有办法自动将旧主节点重新加入新主节点?
提前致谢
postgresql - repmgr 中未发生自动故障转移
我有一个 2 个节点的 postgres 活动/备用集群,我使用 repmgr 创建集群。问题是,当我停止主节点上的 postgres 服务时,不会发生自动故障转移。master上的repmgr.conf文件内容如下:
postgresql.conf 的内容如下:
master和slave上的内容相同,除了名称,slave上的node2。谁能指导我自动故障转移未发生的可能原因
postgresql - 在 repmgr 中分配虚拟 IP
我有一个使用repmgr 制作的postgres 集群。这是应用程序的要求,他们不应该在数据库切换发生时更改应用程序中的 IP。有没有办法将虚拟 IP 与外部客户端可以使用的 repmgr 一起使用,并且数据库切换不应该要求在应用程序中更改 IP
postgresql - 故障转移后 pg_stat_replication 为空
我已经建立了一个 3 节点集群,其中流复制没有任何问题(通过 docker-compose 完成)。当我停止主节点时,会选择一个新的主节点,之前的备用节点切换到新的主节点。但问题是没有设置流复制。无论我在主服务器上做什么都不会复制到备用服务器,如果我尝试从 pg_stat_replication 查询 select *,它是空的。
我不确定我是否遗漏了与此相关的文档中的某些内容,或者是否有必要手动修复复制。
如果有人可以给小费,我将非常感激。
链接到 Dockerfile、Docker-compose 和脚本,以及一些关键日志和 pg_stat_replication 数据库:链接
我认为我错过了一些非常明显的东西。
干杯。
repmgr - 在 Debian 上设置 repmgr 见证节点
我正在尝试使用 PostgtrSql 11 在 Debian 上设置 repmgr 版本 5。
似乎文档更面向 centos/RHEL。
当我尝试设置 witnes 节点以启动 repmgr 守护程序时,我收到一个错误,不知道在哪里寻找错误的原因。
这是我的 repmgr.conf 文件:
注册没问题:
repmgr 守护进程也可以空运行:
我设置 /etc/default/repmgrd :
和
但是在尝试运行守护程序启动时仍然会出错:
我得到:
postgresql - repmgr - 如何在故障转移后使以前的主节点成为备用节点
执行故障转移后,我之前的主节点关闭,而旧的备用节点成为主节点,正如预期的那样。
我想让旧的主节点作为备用节点加入集群。
我收集重新加入命令应该这样做。
但是,当我尝试重新加入它,成为新的备用服务器时,我得到了这个(我在旧的主节点上运行它):
--其中 10.9.7.97 是我正在运行的节点的 ip。
我收到此错误:
当然 postgres 在 10.9.7.97 - 旧的主要版本上失败了。
但是,如果我启动它,它将作为另一个主要启动:
- 那么让旧的主数据库成为新的备用数据库的方法是什么......?
谢谢
postgresql - repmgr - 从失败的主服务器中恢复?
大家好,使用 repmgr 测试一些故障转移逻辑
不确定从这种情况中恢复需要什么命令:
系列活动:
- 主要活着
- 活着待机
- 主要关机
- 备用提升为主
- 初级开始
我们现在可能想将旧主节点的角色更改为备用节点?
postgresql - repmgr 备用切换失败并出现错误:无法通过 SSH 连接到主机“节点 IP”、用户“”
repmgr 备用切换 -v 信息:在 /etc 中查找配置文件 信息:配置文件位于:“/etc/repmgr.conf” 注意:在节点“DB-Test-02”(ID:2)上执行切换 警告:无法通过 SSH 连接到远程主机“IP”错误:无法通过 SSH 连接到主机“IP”,用户“”
repmgrd 服务在主服务器、备用服务器和见证服务器上停止。
我通过使用 SSH 将节点相互连接来进行检查,这很有效。
有什么提示吗?