10

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

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

4

3 回答 3

4

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

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

于 2012-08-16T10:47:45.960 回答
4

从 Postgres 10 开始,逻辑复制被内置到 Postgres 中!这通常是比外部解决方案更好的解决方案。Postgres 文档非常棒且易于理解。这很容易。请参阅快速设置文档,本质上归结为运行此:

-- 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;
于 2020-08-14T05:10:21.673 回答
3

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

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

于 2012-08-15T22:33:56.653 回答