将不同远程源中的数据库同步到PostgreSQL数据库

问题描述 投票:0回答:1

我在离线工作的不同地理位置有几个应用程序,因为这些地方没有互联网访问权限。所有应用程序都存储相同类型的信息,每个信息都将信息存储在自己的本地数据库中。

问题是每次给定时间我需要将所有本地数据库中的信息复制到单个数据库。我考虑过为每个应用程序生成一个JSON文件,然后将其加载到具有Internet访问权限的地方,并使用Web服务读取文件并存储信息。

我不知道这是否是最好的方法,因为文件可能包含数千条记录,而且信息是敏感的。我想知道是否有更好的方法来解决这个问题。

php json database postgresql
1个回答
0
投票

我对你的应用程序一无所知,所以我看不出ID,唯一索引或类似内容是否会出现严重冲突。

但从技术上讲,您可以通过使用分区简化从所有本地数据库到中央数据库的数据组合。分区充当具有独立索引的完全独立的表,因此即使使用相同的ID,也不会将数据导入分区。并且由于来自一个主要父表的继承,您将能够以简单的方式从所有这些表中进行选择。

您可以对所有表使用相同的分区解决方案(即每个本地数据库的单独分区后缀),这样您就不必担心多主机复制等问题了。这需要对导入部分进行一些操作,但它可以为您节省很多问题一些“更复杂”的解决方案。

从数据库的角度来看,从本地数据库传输数据的方式并不那么重要。如果你喜欢JSON,为什么不呢。但是PostgreSQL如此胖不具备JSON导出/导入的原生支持 - 所以你必须编写自己的函数。另一方面,在PostgreSQL中,转储/恢复或CSV导出/导入工作本身非常好。

© www.soinside.com 2019 - 2024. All rights reserved.