1

我有一个每天对数据进行分区的 postgresql 操作数据库和一个 postgresql 数据仓库数据库。为了将数据从操作数据库快速复制到 DWH,我想以最快的速度复制表并且使用最少的资源。由于这些表是按天分区的,我知道每个分区本身就是一个表。这是否意味着我可以以某种方式在机器之间复制数据文件并使用这些数据文件在 DWH 中创建表?在这种情况下,最佳做法是什么?

编辑:我将在这里回答所有问题: 1. 我正在构建一个 ETL。ETL 的第一步是复制对操作数据库影响较小的数据。2. 如果这不会减慢操作数据库的写入速度,我想复制数据。3. 更多数据,操作数据库不在我的响应范围内,但主要关注的是该数据库的写入时间。它每天写入大约 5 亿行,其中有几个小时加载更多,但没有几个小时根本没有写作。4. 我遇到了一些工具/方法——复制、pg_dump。但是我找不到可以比较工具以了解何时使用什么以及了解什么适合我的情况的东西。

4

2 回答 2

2

如果您要进行批量传输,我实际上会考虑在仓库系统上运行 pg_dump 并将结果每天一次通过管道传输到 psql 中。您可能也可以运行 Slony,但这需要更多资源,并且可能会更复杂。

于 2012-08-29T15:55:58.560 回答
1

有许多在数据库之间复制数据的好方法。虽然只是在寻找一个

在数据库之间快速传输表

...扩展dblink提供了一个简单而快速的解决方案。这里有很多关于 SO 的例子。尝试搜索。

如果您想要更广泛的方法、持续同步等,请考虑使用已建立的复制工具之一。手册中有很好的比较可以帮助您入门。

于 2012-08-29T20:04:28.017 回答