问题标签 [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 投票
0 回答
475 浏览

docker - 使用repmgr时是否需要pgpool上的看门狗?

我正在使用 docker swarm 并希望使用这些容器https://github.com/bitnami/bitnami-docker-pgpoolhttps://github.com/bitnami/bitnami-docker-postgresql-repmgr

对于 postgres,我将配置 3 种不同的服务,repmgr 将选择主服务器并执行其确保为热备用设置流复制的业务。

现在我想做的是用 pgpool 创建一个服务。我希望这是高度可用的,并且我一直在它的文档https://www.pgpool.net/docs/latest/en/html/example-cluster.html中阅读过它。显然,它要求只有一个节点处于“活动”状态,其他节点处于“待机”状态,并使用看门狗服务相互协调。这要求他们都互相了解,并且每个人都有独特的配置。

由于我从不打算让 pgpool 处理数据库的复制和失败选举,他们真的需要集群感知吗?我不能在集群中有多个活动的 pgpool 实例而不使用看门狗服务吗?

0 投票
2 回答
497 浏览

postgresql - 防止 Docker 容器在主进程死亡时退出

我正在使用带有repmgr的Postgres,我遇到的一个小问题是有时repmgr必须停止并启动Postgres服务,这只会杀死容器,我在Dokcerfile中尝试了一些在线解决方案,但似乎没有工作,我可以在 docker-compose 文件中添加一些东西来防止 docker 立即退出,我不想永远活着,但也许几分钟?

0 投票
1 回答
113 浏览

postgresql - Windows Server OS 2019 中 PostgreSQL 的 repmgr 的解决方法

我在 Windows Server OS 2019 上获得了一个 VM,用于安装我的 Web 应用程序,该应用程序使用 PostgreSQL 9.6.6 作为 DBMS。根据 此链接上的文档,不支持 Microsoft Windows

是否有使用或不使用配置“PostgreSQL 见证服务器”的解决方法repmgr

0 投票
1 回答
214 浏览

postgresql - Strapi 与 Postgres 故障转移数据库连接字符串

我已经使用 repmgr 设置了 postgres 并配置为两个服务器之间的复制和故障转移,故障转移设置工作正常。Postgres 的连接字符串如下所示。

当我尝试用这个 postgres 字符串设置 strpi 时,我还没有找到任何文章将 postgres 字符串与 strpi 连接起来。我正在关注此链接https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#database仅在 Strapi 项目中找到 database.js 文件,该文件一次连接一个数据库。

这一次只能连接一个数据库请帮我postgres://repmgr:repmgrpassowrd@10.200.0.100:5423,10.200.0.120:5423/Stag_DB在strapi上连接这个字符串。

0 投票
0 回答
53 浏览

postgresql - Repmgr SSH 用户

是否有人成功地将另一个用户用于 Repmgr SSH 操作(不是“postgres”)而没有问题?因为 Postgres 数据目录只有用户“postgres”才能写入,所以我们在执行时必须使用用户“postgres”,例如:repmgr standby switchover ...,对吗?我认为 repmgr 通过 postgres 做所有“魔术”,只有它在文件系统上做的就是在降级节点(旧主节点)上创建一个 standby.signal 触发器文件,或者可能编辑一些 PG 配置。如果是这样 - 如果我将使用另一个带有--remote-user标志的用户 - 过程将失败。

我的问题是:你们都在使用“postgres”用户进行 repmgr SSH 身份验证,还是有办法避免这种情况?

0 投票
1 回答
56 浏览

postgresql - repmgr 是否复制“CREATE TABLESPACE”?

我的备用数据库已关闭,因为备用服务器上的表空间不可用。

错误:

repmgr 是否复制“CREATE TABLESPACE”语句?

如果是,我该如何启用它?

软件版本:

postgres (PostgreSQL) 10.17 (Ubuntu 10.17-1.pgdg18.04+1)

repmgr --version repmgr 5.2.0

提前致谢!

0 投票
0 回答
44 浏览

postgresql - 错误:(repmgr)服务器处于待机模式,无法注册为主服务器

我试图按照这个链接:https ://repmgr.org/docs/current/repmgr-primary-register.html

并运行此命令:

0 投票
0 回答
41 浏览

postgresql - 如何创建 PostgreSQL 的 docker 映像并使其运行?

我在 Dockerfile 下构建了一个用于 postgresql 的 docker 镜像。映像和 docker 容器已创建,但无法运行该容器。由于在这种情况下docker不支持systemd,我怎样才能让它在后台运行?任何人都请告诉我。

错误是:系统尚未使用 systemd 作为 init 系统 (PID 1) 启动。不能操作。无法连接到总线:主机已关闭无法在 postgresql-12.service 中找到 PGDATA 设置

注意:基本上我打算在 docker 中使用 repmgr 制作 PostgreSQL 集群。

0 投票
0 回答
15 浏览

postgresql - 无法使用节点重新加入与上游节点连接

试图加入我的上游 node1 但无法加入。只显示类似 WARNING: node "node2" not found in "pg_stat_replication"的警告。问题出在哪里?我怎样才能加入node1呢?

这是复制槽状态: 在此处输入图像描述

以下是节点状态: 在此处输入图像描述

以下是节点重新加入错误: 在此处输入图像描述

尝试使用待机跟随但显示以下错误 在此处输入图像描述

0 投票
0 回答
14 浏览

postgresql - PITR 不适用于流式传输方法的 postgresql barman(备份和恢复工具)

Barman 是一个为 PostgreSQL 数据库执行备份和恢复的工具。它可以使用两种方法进行备份:

  • rsync/ssh
  • 流媒体

在这里,我尝试使用流式方法进行 PITR 恢复,它准确地显示了我需要的内容。它在恢复.signal 文件生成和 postgresql.conf 中的 archive_command 参数由 barman 评论的那一点恢复。

接下来,我成功启动了 postgresql,没有任何从 barman 备份中恢复的特定时间的更改。

后来我取消注释archive_command并删除recovery.signal,然后我重新启动我的postgresql服务器然后它成功启动但PITR在特定时间没有按预期工作。它显示了所有数据,直到最后一次备份。

Barman 的 PITR 命令,其中 192.168.43.21 是 PostgreSQL 服务器,pg 是 barman 的服务器配置。在恢复到 PostgreSQL /var/lib/pgsql/12/data 目录之前,postgresql 已经停止并删除了它以前的内容。

PITR 命令:

barman recover --remote-ssh-command "ssh postgres@192.168.43.21" --target-time=”2022–02–24 04:00:00.588245+00:00" pg 20180722T233002 /var/lib/pgsql/12/数据

例子:

假设我们在凌晨 1 点 2 点 3 点 4 点 5 点有 5 个备份,但我想恢复到凌晨 4 点。并且还想排除凌晨 4 点到 5 点之后的所有数据。从酒保备份数据恢复后,它恢复到凌晨 4 点,但是当我在 postgresql.conf 中取消注释 archive_command 参数并从数据目录中删除 restore.signal 后重新启动时,它也将凌晨 4 点恢复到凌晨 5 点。为什么会这样?

我的问题是 Streaming 方法是否支持 PITR,如果支持,我该怎么做?是不是我做错了什么?流式传输方法有什么限制吗?

从 Barman 恢复到数据目录 /var/lib/pgsql/12/data 的 PostgreSQL 服务器后: 在此处输入图像描述

在 postgresql.conf 文件中从 Barman 恢复到 PostgreSQL 服务器后: 在此处输入图像描述

在 PostgreSQL 服务器 postgresql.conf 文件更改后,我取消注释 archive_command 并注释掉 archive_commmend=false: 在此处输入图像描述

Barman 全局配置: 在此处输入图像描述

酒保服务器配置: 在此处输入图像描述