2011-05-23 57 views
1

我有一个硕士postgres数据库M与表M.A1等 我有一个从表数据库S与表M.A1,由Skytools/londiste填充和维护。一切都很好。是否有可能有额外的可写表到postgresql奴隶(由Skytools/londiste复制)

我不知道它是如何工作的,因为我不是设置我的Skytools实例的人。我刚刚阅读了一些文档,并稍微与它交互。

我想添加一些辅助读/写表S:S.B1。 (我想加入S.A1,并且不向M添加任何额外负载,这就是为什么我想在S上安装B1。是否可以维护此设置?

如果我创建一个新表S .B1在Skytools/Londiste奴隶,将与表A1的干扰复制

编辑补充后续:

如何安全将这样的设置是,相对于从机故障影响主?

我不是很在意repl对我的分析从站执行延迟或宕机(但我会需要最终恢复,而不需要在主站上停机)。

我非常关心一个从站故障,导致主站无限增长其复制队列并消耗主站上的HD/RAM /资源。我将如何减轻这一点?有没有办法设置一个公差,以便主站在从站落后的情况下丢弃从站连接?

第2部分

如果我得到这个成立工作,我会希望有S.B1的奴隶备份的地方,在如果s失败。

是否可以设置辅助从站T,并配置Skytools/Londiste将S.B1复制到T.B1,而M.A1也复制到S.A1?

我应该关注哪些注意事项?

非常感谢您的建议和指点。

回答

3

首先,我真的建议你花时间了解skytools pgq和londiste是如何工作的。这不是很复杂,但文件相当少。

对于你的第一个问题 - 是的,你可以在从机上有其他表,而不是从主机复制。

你的第二个问题有点牵扯,我不确定你的要求是否完全清楚。 假设您想要从从站复制到辅助从站的表与从主站复制到初始从站的表完全分离,那么您可以在初始从站上安装pgq,在辅助从站上安装londiste,创建一个新队列并将这些表添加到您希望复制到辅助从站的队列中。

您不能使用skytools/Londiste进行级联复制,例如,master - > slave1 - > slave2,因此从一个从设备到另一个从设备的数据部分复制可以获得什么好处并不明显。

这将是简单的对主所有的表,然后复制到从只有一个队列,然后回弹拥有主服务器热备份看到 explanation for 8.4从中你可以及时的恢复做了点如果有必要,然后从一致的主站重建从站。 Skytools提供的软件包可帮助您设置热备用/ pitr。

如果你不能拥有主服务器上的所有表,那么你可能会更好地维护热备用服务器的热备用,但要记住,在做这样的工作之后,你可能不得不重新订购从主服务器复制的表恢复。如果您加入主表的从表具有外键约束,则这可能会变得复杂。

如果你是postgres 9有流式复制,也可以服务,但我没有使用过。

+2

感谢您的信息。 关于我的第二个问题:我不想将表添加到主服务器的原因是因为主服务器负载很重以用于OLTP(webservice)访问,并且我想将OLAP(批量分析)表添加到从服务器而不会威胁吞吐量或主人的稳定。 – misterbee 2011-05-24 18:07:45

0

为了扩展话题,如果有人达到它,可以像上面提到的Gavin一样建立多个队列,但也可以从Skytools版本3(2012年3月)开始级联复制。事实上,您可以复制任何表的子集,并且如果需要,甚至可以在目标上重命名表。

相关问题