psql pg_dumpall如何在转储处于活动状态时转储丢失的事务

时间:2014-08-12 16:33:02

标签: dump psql database-restore

我正在迁移群集(几个数据库),我想念转储发生时发生的一些交易。
有没有办法pg_dumpall那天发生的丢失的事务,并将它们添加到新创建的数据库?

我正在使用服务器8.4.17。

1 个答案:

答案 0 :(得分:2)

不,甚至不在当前的9.3服务器上。

你看起来想要的是一个差分逻辑转储,即转储一系列SQL语句,这些语句可以在时间转换数据库" n"在时间" n + 1"。

进入数据库

这是不可能的,因为PostgreSQL没有保留生成它所需的信息。

Londiste,Slony-I等工具使用触发器实现此目的,并自行记录所需信息。

在PostgreSQL 9.4中,可以执行类似的操作 - 您可以进行转储,然后获取自逻辑复制槽转储后所做的更改流。据我所知,没有人编写任何内容将该流转换为SQL文件,但您可以在另一台服务器上运行。

您可能对相关BDR project for bi-direcional asynchronous multi-master replication感兴趣,但请记住,在撰写本文时(2014年8月),它仍处于开发阶段。

但是,日志传送复制带有时间点恢复。这使用了DB文件的物理克隆,而不是逻辑转储,但它本质上是一个连续的增量备份。有关详情,请参阅the manual on warm standbycontinuous archiving