问题标签 [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.
docker - 使用repmgr时是否需要pgpool上的看门狗?
我正在使用 docker swarm 并希望使用这些容器https://github.com/bitnami/bitnami-docker-pgpool和https://github.com/bitnami/bitnami-docker-postgresql-repmgr。
对于 postgres,我将配置 3 种不同的服务,repmgr 将选择主服务器并执行其确保为热备用设置流复制的业务。
现在我想做的是用 pgpool 创建一个服务。我希望这是高度可用的,并且我一直在它的文档https://www.pgpool.net/docs/latest/en/html/example-cluster.html中阅读过它。显然,它要求只有一个节点处于“活动”状态,其他节点处于“待机”状态,并使用看门狗服务相互协调。这要求他们都互相了解,并且每个人都有独特的配置。
由于我从不打算让 pgpool 处理数据库的复制和失败选举,他们真的需要集群感知吗?我不能在集群中有多个活动的 pgpool 实例而不使用看门狗服务吗?
postgresql - 防止 Docker 容器在主进程死亡时退出
我正在使用带有repmgr的Postgres,我遇到的一个小问题是有时repmgr必须停止并启动Postgres服务,这只会杀死容器,我在Dokcerfile中尝试了一些在线解决方案,但似乎没有工作,我可以在 docker-compose 文件中添加一些东西来防止 docker 立即退出,我不想永远活着,但也许几分钟?
postgresql - Windows Server OS 2019 中 PostgreSQL 的 repmgr 的解决方法
我在 Windows Server OS 2019 上获得了一个 VM,用于安装我的 Web 应用程序,该应用程序使用 PostgreSQL 9.6.6 作为 DBMS。根据 此链接上的文档,不支持 Microsoft Windows。
是否有使用或不使用配置“PostgreSQL 见证服务器”的解决方法repmgr
?
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上连接这个字符串。
postgresql - Repmgr SSH 用户
是否有人成功地将另一个用户用于 Repmgr SSH 操作(不是“postgres”)而没有问题?因为 Postgres 数据目录只有用户“postgres”才能写入,所以我们在执行时必须使用用户“postgres”,例如:repmgr standby switchover ...
,对吗?我认为 repmgr 通过 postgres 做所有“魔术”,只有它在文件系统上做的就是在降级节点(旧主节点)上创建一个 standby.signal 触发器文件,或者可能编辑一些 PG 配置。如果是这样 - 如果我将使用另一个带有--remote-user
标志的用户 - 过程将失败。
我的问题是:你们都在使用“postgres”用户进行 repmgr SSH 身份验证,还是有办法避免这种情况?
postgresql - repmgr 是否复制“CREATE TABLESPACE”?
我的备用数据库已关闭,因为备用服务器上的表空间不可用。
错误:
repmgr 是否复制“CREATE TABLESPACE”语句?
如果是,我该如何启用它?
软件版本:
postgres (PostgreSQL) 10.17 (Ubuntu 10.17-1.pgdg18.04+1)
repmgr --version repmgr 5.2.0
提前致谢!
postgresql - 如何创建 PostgreSQL 的 docker 映像并使其运行?
我在 Dockerfile 下构建了一个用于 postgresql 的 docker 镜像。映像和 docker 容器已创建,但无法运行该容器。由于在这种情况下docker不支持systemd,我怎样才能让它在后台运行?任何人都请告诉我。
错误是:系统尚未使用 systemd 作为 init 系统 (PID 1) 启动。不能操作。无法连接到总线:主机已关闭无法在 postgresql-12.service 中找到 PGDATA 设置
注意:基本上我打算在 docker 中使用 repmgr 制作 PostgreSQL 集群。
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: