问题标签 [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.

0 投票
1 回答
424 浏览

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了,但它是空的。那么手动删除是否安全?我仍在将主服务器复制到从服务器。

0 投票
1 回答
204 浏览

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(如sshdpostgres)。我尝试过直接启动命令(没有“帮助程序”),我尝试过使用bash -c,我尝试过指定/usr/bin/repmgrd为可执行文件,但无论我最终尝试什么,我总是会得到这个结果。

那么我的问题是双重的:为什么会发生这种情况以及我可以做些什么来控制这个repmgrd过程supervisor


编辑:正如我--daemonize=false在启动 repmgrd 时尝试过的那样。

这种帮助,但不完全。查看输出:

在启动时,该进程保持为supervisor,但停止它只会杀死repmgr_helper.sh通往“真实”进程以保持活动状态并被重新分配1为其父进程。

这并不理想,因为现在我遇到了一个奇怪的情况,即进程是活跃的,但我supervisor认为它不是。因此发出一个将supervisorctl start jm:repmgrd失败的说法

0 投票
1 回答
236 浏览

postgresql - repmgrd 自动节点重新加入

我已将 repmgr5 安装到 Postgresql 12 数据库中,其中 repmgrd 有 2 个节点,一个是主节点,另一个是备用节点。

当我尝试通过在主节点上禁用 postgresql 服务使 postgresql 自动进行故障转移时。切换成功,但旧主节点在新主节点之后停止,并且 2 个节点之间的复制也被破坏。

有没有办法自动将旧主节点重新加入新主节点?

提前致谢

0 投票
1 回答
404 浏览

postgresql - repmgr 中未发生自动故障转移

我有一个 2 个节点的 postgres 活动/备用集群,我使用 repmgr 创建集群。问题是,当我停止主节点上的 postgres 服务时,不会发生自动故障转移。master上的repmgr.conf文件内容如下:

postgresql.conf 的内容如下:

master和slave上的内容相同,除了名称,slave上的node2。谁能指导我自动故障转移未发生的可能原因

0 投票
1 回答
426 浏览

postgresql - 在 repmgr 中分配虚拟 IP

我有一个使用repmgr 制作的postgres 集群。这是应用程序的要求,他们不应该在数据库切换发生时更改应用程序中的 IP。有没有办法将虚拟 IP 与外部客户端可以使用的 repmgr 一起使用,并且数据库切换不应该要求在应用程序中更改 IP

0 投票
1 回答
326 浏览

postgresql - 故障转移后 pg_stat_replication 为空

我已经建立了一个 3 节点集群,其中流复制没有任何问题(通过 docker-compose 完成)。当我停止主节点时,会选择一个新的主节点,之前的备用节点切换到新的主节点。但问题是没有设置流复制。无论我在主服务器上做什么都不会复制到备用服务器,如果我尝试从 pg_stat_replication 查询 select *,它是空的。

我不确定我是否遗漏了与此相关的文档中的某些内容,或者是否有必要手动修复复制。

如果有人可以给小费,我将非常感激。

链接到 Dockerfile、Docker-compose 和脚本,以及一些关键日志和 pg_stat_replication 数据库:链接

我认为我错过了一些非常明显的东西。

干杯。

0 投票
2 回答
391 浏览

repmgr - 在 Debian 上设置 repmgr 见证节点

我正在尝试使用 PostgtrSql 11 在 Debian 上设置 repmgr 版本 5。
似乎文档更面向 centos/RHEL。

当我尝试设置 witnes 节点以启动 repmgr 守护程序时,我收到一个错误,不知道在哪里寻找错误的原因。

这是我的 repmgr.conf 文件:

注册没问题:

repmgr 守护进程也可以空运行:

我设置 /etc/default/repmgrd :

但是在尝试运行守护程序启动时仍然会出错:

我得到:

0 投票
1 回答
721 浏览

postgresql - repmgr - 如何在故障转移后使以前的主节点成为备用节点

执行故障转移后,我之前的主节点关闭,而旧的备用节点成为主节点,正如预期的那样。

我想让旧的主节点作为备用节点加入集群。

我收集重新加入命令应该这样做。

但是,当我尝试重新加入它,成为新的备用服务器时,我得到了这个(我在旧的主节点上运行它):

--其中 10.9.7.97 是我正在运行的节点的 ip。

我收到此错误:

当然 postgres 在 10.9.7.97 - 旧的主要版本上失败了。

但是,如果我启动它,它将作为另一个主要启动:

  • 那么让旧的主数据库成为新的备用数据库的方法是什么......?

谢谢

0 投票
0 回答
154 浏览

postgresql - repmgr - 从失败的主服务器中恢复?

大家好,使用 repmgr 测试一些故障转移逻辑

不确定从这种情况中恢复需要什么命令:

系列活动:

  • 主要活着
  • 活着待机
  • 主要关机
  • 备用提升为主
  • 初级开始

我们现在可能想将旧主节点的角色更改为备用节点?

0 投票
1 回答
690 浏览

postgresql - repmgr 备用切换失败并出现错误:无法通过 SSH 连接到主机“节点 IP”、用户“”

repmgr 备用切换 -v 信息:在 /etc 中查找配置文件 信息:配置文件位于:“/etc/repmgr.conf” 注意:在节点“DB-Test-02”(ID:2)上执行切换 警告:无法通过 SSH 连接到远程主机“IP”错误:无法通过 SSH 连接到主机“IP”,用户“”

repmgrd 服务在主服务器、备用服务器和见证服务器上停止。

我通过使用 SSH 将节点相互连接来进行检查,这很有效。

有什么提示吗?