2011-05-23 55 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月)開始級聯複製。事實上,您可以複製任何表的子集,並且如果需要,甚至可以在目標上重命名錶。

相關問題