我有一个postgresql数据库,失去了一些logging。 我想从几天前获取数据库的pg_dump SQL转储,并将其与当前生产数据库合并。 许多logging将被重复,所以它可以跳过重复。 做这个的最好方式是什么?
不知道你正在使用什么types的转储(普通,焦油或自定义)…
如果您有dblink可用,那么您可以恢复到不同的数据库并将数据提交到生产框。
更复杂的解决scheme可能是
patch可能是你的朋友可以尝试创build一个新的转储,我们将其称为current_dump,并对old_dump做diff ,然后使用
diff old_dump new_dump > patch.input (copy the new_dump) to another file at this point new.db.dump) patch new.db.dump patch.input
在执行diff之前,您可能必须对转储文件进行sorting,具体取决于数据库的大小,这可能并不实际。
也要非常小心,并在备份之前进行备份,直到您确定其正确。
否则,也许有ETLtypes的工具可以做到这一点。