2016-04-29 45 views
1

我們在我們的項目中使用了postgres v9.4。我們在Front End上使用MVC Kendo UI和.Net Framework。 我們有4個Postgres數據庫服務器,每個數據庫服務器都在不同的物理機器上。在一個網頁中顯示來自多個Postgres V9.4服務器的數據

目標:我想要做的是準備某種機制,它將從所有服務器獲取數據,並將積累並作爲單個數據集顯示在我們的網頁中。 目前我通過提供數據庫選擇的下拉框來完成此操作。

可能的解決方案,以實現這一目標:

  1. 在任何Postgres的服務器創建一個Postgres的功能,並從那裏我們可以使用db_link獲得從其他3臺Postgres的服務器上的數據並返回合併的結果集數據。 但是使用這種方法很少有許多問題/污點。由於我們使用自定義分頁,因此分叉數據可能變得困難。比如說我的頁面大小是50,那麼爲了使數據集的確切50個結果很多,我需要在4個postgres服務器之間劃分50個結果。
  2. 由於我們使用的是.Net框架,我可以做的是從應用程序中創建4個異步調用,然後將結果集合併爲One並顯示。

我的問題是我可以使用任何其他方法,或者我該如何修改/優化當前的方法。

回答

0

創建一個新的PostgreSQL實例並使用外部數據包裝器postgres_fdw創建反映不同實例中現有表的外部表。然後你可以訪問那個實例,它會透明地從其他實例中獲取數據。這基本上是你的計劃,但更優雅,而像分頁這樣的東西可能會更好。

相關問題