我正在迁移群集(几个数据库),我想念转储发生时发生的一些交易。
有没有办法pg_dumpall那天发生的丢失的事务,并将它们添加到新创建的数据库?
我正在使用服务器8.4.17。
答案 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 standby,continuous archiving。