簡體   English   中英

Postgres數據庫復制

[英]Postgres db replication

我們在應用程序中使用2個Postgres數據庫。 一種用於事務處理,另一種用於配置。 我必須運行的sql查詢使用來自兩個數據庫的數據,這是一個非常復雜的查詢。

我使用dblink每小時根據事務條目時間戳在cron中運行一個shell腳本,每小時將數據從事務db復制到配置db。 因此,我將所有數據存儲在一個數據庫(配置)中,並且能夠輕松查詢。

但是現在,如果將事務復制到config db中之后進行更新,那么我將沒有任何跟蹤。 我在腳本中使用的查詢只是基於該小時的時間戳轉儲事務。

就像如果某筆交易在13:30進入,那么它將在14:00通過cron作業進行轉移,該作業將選擇時間戳> = 13:00和<14:00的交易。 但是,如果交易是在14:05更新的,我將沒有任何追蹤。

有什么解決方法嗎?

好吧,關鍵的問題是,如何識別事務數據庫中已更改(也被刪除?)的行? 如果答案是“我不”,那么您有問題。

聽起來您正在嘗試構建自定義觸發器復制系統(請查看slony / londiste / bucardo)。 即使使用預構建的工具,即使他們做的比您想做的要多,它也可能會花費更少的精力。

但是,如果您的數據庫相當接近(同一台機器或良好的網絡),則可能值得測試外部數據包裝程序以提供從配置數據庫對事務數據庫的遠程訪問。 這完全取決於您運行復雜查詢的頻率以及需要在兩個數據庫之間拖動多少數據才能為其提供服務。

從此處開始,了解PostgreSQL復制的詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM