【问题标题】:Synchronous Replication Setup on 2 Postgresql 9.2.1.4 machines2 台 Postgresql 9.2.1.4 机器上的同步复制设置
【发布时间】:2012-09-07 11:18:51
【问题描述】:

我在 2 台 Postgresql 9.2.1.4 机器(主机和从机)上运行同步复制

这里是配置:

主参数

synchronous_commit=on
synchronous_standby_names = '*'
no synchronous_replication_timeout parameter, so 10 sec by default
no synchronous_replication parameter, so async by default
wal_level = hot_standby
max_wal_senders = 5
wal_keep_segments = 32
hot_standby = on

从机参数

no synchronous_commit, so by default on 
no synchronous_replication_service parameter, so by default async 
max_wal_senders = 5 
wal_keep_segments = 32 
hot_standby = on 

应用程序在 Master 上插入记录,并使用 pgpool 从 Master 或 Slave 读取记录。有时会发生在插入记录后,应用程序看不到插入的记录(可能是通过从另一个数据库主机读取为插入的), 但是当我们事后检查它时,记录在数据库中。

开启 http://wiki.postgresql.org/wiki/Synchronous_replication#SYNCHRONOUS_REPLICATION_OVERVIEW 我发现: “如果在超时时间内没有收到回复,我们会发出 NOTICE,然后返回成功的提交(不可能有其他操作)。”

我的问题

  1. a) 是否真的意味着如果 synchronous_replication_timeout (默认为 10 秒)在 Master 上被超过,并且在以下三种情况中的任何一种
  • 数据未到达从站或
  • 事务未在从属设备上提交或
  • 事务在从属设备上回滚,

Master 提交事务,slave 根本不提交?

如果是这样,那么事务似乎并不是真正同步的......

  1. b) 如果我在 Master 上设置 synchronous_replication_timeout=0 会怎样 Master 无限等待 Slave 提交或回滚,以防万一 从属提交,主提交,以防从属回滚,主 也回滚?
  2. 我应该设置什么值

    同步复制(在主服务器上) =异步(定义)|接收 |同步 |申请

synchronous_replication_service (on Slave)
= async (def) | recv | fsync | apply

为了确保我确实有适当的同步复制设置 (所以我确信数据在两台服务器上都提交或回滚)

他们都应该被设置为适用吗?

  1. 是否有任何选项可以确保通过使用同步复制 在 PosgreSQL 9.1.4 上,数据在主服务器和从服务器上都提交 同时提交?

【问题讨论】:

    标签: database replication postgresql-9.1


    【解决方案1】:

    您引用的 wiki 页面当前描述了一个未提交的实现同步复制的补丁,如果您有兴趣,请参阅此处: http://archives.postgresql.org/pgsql-hackers/2010-12/msg02484.php

    因此,您对 GUC 的“synchronous_replication_timeout”或“synchronous_replication_service”的问题与 PostgreSQL 的发布版本无关,因为最终提交的同步复制版本与该 wiki 页面中描述的版本大不相同。对此感到抱歉,我会看看如何清理该 wiki 页面。您想要的信息在: http://www.postgresql.org/docs/current/static/warm-standby.html#SYNCHRONOUS-REPLICATION

    【讨论】:

      猜你喜欢
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      相关资源
      最近更新 更多