我試圖建立一個架構,2個數據庫,說預覽和現場,有完全相同的模式。用例是可以對預覽數據庫進行編輯,然後在經過審覈和批准後將其推送到直播數據庫。生產應用程序將從live數據庫中讀取。PostgreSQL的 - 定期從一個數據庫將數據複製到另一個
什麼是將預覽數據庫中的所有數據推送到實時數據庫的最合適的方式沒有會導致實時數據庫關閉?理想情況下,從預覽到現場的副本將是一個原子事務。
我已經在MSSQL中使用過這種類型的設置,但我對Postgres相當陌生。所以我很樂於聽到其他方式來設計這個(Schemas也許?)。
編輯:使用單獨數據庫的主要原因是我可能需要超過1個目標數據庫(而不僅僅是一個「活」數據庫)。我也可能需要在不改變源數據庫模式的情況下即時切換目標數據庫。
爲什麼要用兩個數據庫?在單個數據庫上執行它非常簡單且高效。 – Patrick
在PG中,您可以通過將所有語句包裝在單個事務中(「MVCC」模型)來進行「原子」操作(從其他用戶的角度來看)。 – Patrick
使用單獨的數據庫有許多原因 - 預覽數據庫和實時數據庫可能具有不同的網絡和安全要求(防火牆等)和/或需要託管在不同的機器上。另一個原因是,這種架構可以輕鬆實現多個目標(而不僅僅是實況),而無需添加額外的表格。 – Joel