在两台服务器之间复制选定的postgresql表?

时间:2012-08-15 21:11:28

标签: postgresql replication rsync failover

将单个数据库表从Master postgresql服务器复制到从属计算机的最佳方法是什么?它可以使用cron + rsync,或任何postgresql可能已经内置,或某种OSS工具,但到目前为止postgres文档似乎没有涵盖如何进行表复制。我无法进行完整的数据库复制,因为有些表连接了许可证> IP内容,我无法复制从机上的那些。我不需要即时复制,每小时也可以接受。

如果我只需要rsync,有人可以帮助识别/ var / lib / pgsql目录中需要同步的文件,或者我如何知道它们是什么表。

3 个答案:

答案 0 :(得分:5)

您可能想尝试使用Bucardo,它是一种开源软件,用于在表之间同步行,即使它们位于远程位置。它是一个非常简单的软件,它也能够创建单向同步关系。

查看http://bucardo.org/wiki/Bucardo

答案 1 :(得分:3)

通过复制数据目录中的单个表文件,您无法获得任何有用的信息。如果要复制选定的表,则有许多不错的选项。

http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

答案 2 :(得分:1)

从Postgres 10开始,逻辑复制已内置到Postgres中!这通常是比外部解决方案更好的解决方案。 The Postgres docs非常好并且易​​于遵循。很简单参见quick setup docs,从本质上可以归结为运行此命令:

-- On publisher DB
CREATE PUBLICATION mypub FOR TABLE users, departments;

-- On subscriber DB
CREATE SUBSCRIPTION mysub CONNECTION 'dbname=foo host=bar user=repuser' PUBLICATION mypub;