在一个网页中显示来自多个Postgres V9.4服务器的数据

时间:2016-04-29 14:19:03

标签: database postgresql asp.net-mvc-3 kendo-ui-mvc

我们在项目中使用postgres v9.4。我们在前端使用MVC Kendo UI和.Net Framework。 我们为Postgres提供了4个数据库服务器,每个服务器都在不同的物理机器上。

目标:我想要做的是准备某种机制,从所有服务器获取数据,并在我们的网页中累积并显示为单个数据集。 目前我这样做是通过提供数据库选择的下拉框。

实现目标的可能解决方案:

  1. 在任何postgres服务器中创建一个postgres函数,从那里我们可以使用db_link从其他3个postgres服务器获取数据并返回组合的数据结果集。 但使用这种方法的问题/印迹很少。由于我们使用自定义分页,因此可能难以分割数据。说我的页面大小为50然后带来50个数据集的确切结果我需要在4个postgres服务器中划分50个。
  2. 由于我们使用.Net Framework,我可以做的是从应用程序进行4次异步调用,然后将结果集合并到One中并显示。
  3. 我的问题是我可以使用任何其他方法,或者如何修改/优化当前的方法。

1 个答案:

答案 0 :(得分:0)

创建一个新的PostgreSQL实例并使用外部数据包装器postgres_fdw创建镜像不同实例中现有表的外部表。然后,您可以访问该实例,它将透明地从其他实例中提取数据。这基本上是你的dblink计划,但更优雅,像分页这样的事情可能会更好。