问题标签 [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 回答
2607 浏览

postgresql - 无法使用 repmgr 降级数据库

我正在使用 repmgr 并已成功故障转移到备用节点。但是,当我尝试恢复失败的主节点时,我现在发现我有两个主节点。

我试图将备用节点重新注册为备用节点。但是我发现当repmgr检查节点的模式时,发现它处于恢复模式并且不允许它。

节点 1

任何意见,将不胜感激。

0 投票
1 回答
3057 浏览

postgresql - PostgreSQL 数据中的 pg_logical 目录的目的是什么?

我刚刚在测试我设置的 PostgreSQL 9.4 集群的故障转移时偶然发现了这个错误。在这里,我试图将奴隶提升为新主人:

pg_logical/snapshotsdir 实际上存在于主节点上,它是空的。

UPD:我刚刚手动创建了空目录pg_logical/snapshotspg_logical/mappings并且服务器已经启动而没有抱怨。repmgr standby clone同步时似乎省略了这个目录。但是问题仍然存在,因为我只是好奇这个目录的用途,也许我在设置中遗漏了一些东西。简单地谷歌搜索它并没有产生任何有意义的结果。

0 投票
1 回答
390 浏览

django - 请问RepMgr在master和slave中支持不同版本的postgresql吗

对于由Django开发的应用程序和数据库是Postgres。现在我们必须实现复制。
我们选择RepMgr是因为它支持动态分区表的复制。但是我们在 master 和 salve 中有不同的 Postgresql 版本。

  1. RepMgr 会支持不同的版本吗?
  2. 我们只需要在 slave 中设置特定的数据库。RepMgr 有可能吗?
0 投票
1 回答
738 浏览

postgresql - 主从延迟(激活同步提交)和单独磁盘中的pg_xlog

我们正准备将 repmgr 添加到现有的 Postgresql 9.3 两节点流复制集群中。

之前我们有一个严重的问题影响了我们的主要业务,问题是主从之间的延迟,我们通过调整配置解决了这个问题:

掌握 postgresql 配置:

从属recovery.conf:

slave1 通过 NFS 从 master 挂载 /walshare:

通过同步提交的激活,我们终于解决了主从之间的延迟问题。

不,我们想将当前集群重新配置为由 repmgr 管理,以便于管理任务和故障转移。

我已经创建了一个新的虚拟机(使用 PG-9.4)并计划将数据库从旧集群迁移到新集群。

为了避免 pg_xlog 磁盘空间问题,我决定将 pg_xlog 目录放在与 PGDATA 逻辑卷相同的卷组上的单独逻辑卷中。

我的问题是:

  1. repmgr 是本机激活同步提交,还是应该在主 postgresql.conf 中手动添加它?
  2. 开启同步提交,如果slave没有响应,Master会失败,repmgr如何处理这种情况?
  3. 当 repmgr 创建新的从属(克隆主)时,它是否删除 /var/lib/pgsql/9.4/data/pg_xlog 并重新创建一个新的?
  4. 在同一个卷组上拥有 pgsqllv 和 pgxloglv 不会影响 I/O 性能?我应该为 pg_xlog 使用专用磁盘吗?
  5. 按照 repmgr 官方文档,wal_keep_segments = 5000 这需要 pg_xlog 需要 80 GB,80Gb 是固定的,或者我应该创建足够大的逻辑卷 100Gb 的最小空间,例如管理 pg_xlog 磁盘空间增长?

感谢您的帮助,

0 投票
1 回答
502 浏览

postgresql - PostgreSQL repmgr 备用服务器无法启动

在repmgr中,我已经注册了主服务器,但是在备用服务器上,我已经成功地将主备份克隆到备用数据目录。但是在启动备用服务器时进行克隆后,出现以下错误。

请帮助解决这个问题。

0 投票
1 回答
2188 浏览

postgresql - repmgr 错误:必须在配置从站之前定义主站

我正在使用 repmgr 进行复制。我已成功将主节点注册到 repmgr。我已经成功克隆了主节点并启动了备用服务器。但问题是我无法在 repmgr 中注册 Standby 节点。

我正在使用版本 repmgr 2.0beta1 (PostgreSQL 9.3.2)。操作系统:Ubuntu 14.04 LTS

在注册备用节点时。

得到这个错误。

On Standby Postgres LOG:(使用 log_connections=on,log_disconnections=on)

我在日志中收到错误“无法从客户端接收数据:对等方重置连接”

在 Master Postgres LOG 上:(使用 log_connections=on,log_disconnections=on)

我认为此日志中没有有关备用连接的详细信息。(我不确定,因为我不知道)

掌握repmgr.conf:

备用repmgr.conf

主备 postgres.conf

主和备用 pg_hba.conf

备用节点中的集群详细信息:

主节点中的集群详细信息:

请在这个问题上帮助我。

0 投票
1 回答
2224 浏览

postgresql - 自动故障转移在 repmgr 中不起作用

我已经成功设置了两个节点(Master & Satndby)。我的版本是 repmgr 2.0 (PostgreSQL 9.3.6)

备用repmgr.conf

主备repmgr.conf

当我停止备用节点(Postgressql 服务)时,我得到了以下 repmgrd 日志文件:

不执行脚本...请帮助我...

0 投票
2 回答
1055 浏览

postgresql - [Postgres Replication]远程主机无法访问repmgr salve

我正在尝试使用两台服务器创建一个 postgres 复制配置。这些步骤类似于在 Ubuntu 14.04 上使用 RepMgr 和 PgBouncer 进行 PostgreSQL 9.4 复制 。我使用 repmgr + pgbouncer 作为我的复制配置。假设我有两个主机 dhost1 和 dhost2。Repmgr 元数据 db 是repmgrdb和 user 是repmgr_user
dhost1 有 pgbouncer 和 Repmgr 的配置,它是 master。dbhost1中Repmgr的配置如下:

dhost2 也有 Repmgr 的配置,它处于从属模式。它的配置在下面提到

我能够成功注册到 master 并且可以在 cluster show 命令中看到 master。

在从机端,我使用pg_basebackup命令克隆主机的方法

对于上述命令,我收到以下错误:

我还为和postgres之间的用户设置了无密码 ssh 。dhost1dhost2

我也能够pg_basebackup从命令中获取

我是 postgresql 复制的初学者,请给我建议答案。

0 投票
1 回答
2447 浏览

database - 无法使用 pgpool II 自动恢复失败的 postgresql 主节点

我是 Postgresql 和 Pgpool II 设置的新手。我已经使用 Pgpool 和 Repmgr 配置了 Postgresql HA/负载平衡。

我已按照链接进行设置。

当我关闭主节点时,故障转移成功发生,从节点接管为新的主节点。
故障转移后,我必须手动恢复故障节点并将其与新的主节点同步。

我想自动化恢复过程。

pgpool 节点上的pgpool.conf文件包含参数recovery_1st_stage_command。我在网上搜索了源码,发现参数“recovery_1st_stage_command”应该是在Pgpool节点的配置文件pgpool.conf中设置的。

我已经设置了参数recovery_1st_stage_command = 'basebackup.sh'。我已将脚本'basebackup.sh'文件放在数据目录'/var/lib/pgsql/9.4/data'下的两个 Postgresql 节点上。

此外,我已将脚本 'pgpool_remote_start' 放置在目录 '/var/lib/pgsql/9.4/data' 下的两个数据库节点上。

还在数据库节点上创建了 pgpool 扩展 pgpool_recovery 和 pgpool_adm。

当主节点停止时,会发生故障转移,但不会执行恢复脚本“basebackup.sh”。
我检查了 pgpool 日志并启用了调试级别。仍然无法找到脚本是否被执行。

请帮助我进行故障节点的自动在线恢复。找到我使用的脚本。

基本备份.sh

pgpool_remote_start 脚本。

谢谢。

0 投票
1 回答
830 浏览

postgresql - 如何使用 repmgr 对 Postgresql 集群进行故障回复?

我想在云环境中构建一个 Postgresql 集群(是的,我知道这是个坏主意……但这不是问题)。为了您的信息,我使用了 Dockerized Postgresql(参见:https ://github.com/paunin/postgres-docker-cluster ),但这不是问题,也不是问题。

所以我安装了 2 个带有流复制的 Postgresql 9.5。在每台主机上,我都安装并正确配置了 repmgr 3.2.1。

以下案例有一些问题:

  1. 阻止主人,
  2. 等待从属设备上的故障转移 -> 好的,
  3. 重新启动旧主机 -> Ko 我在集群中显示了 2 个主机,但repmgr cluster show我没有找到任何解决方案来强制旧主机成为从机。

我发现的唯一丑陋的解决方案是删除旧master的所有数据并重新启动它。这样做,它按预期变成了奴隶(但需要完全重新同步......)。

请注意,似乎无法强迫旧主人成为奴隶。repmgr standby register不要像它说的那样工作:

任何帮助将不胜感激。