postgresql 中的增量备份

1 postgresql

我想将生产数据库从一台 Linux 服务器迁移到另一台。我不关心升级我的数据库版本,只是我想以最少的停机时间将数据库从一台服务器移动到另一台服务器。

我的数据库版本是8.3。它的大小为 160 GB。

转储需要 12 小时,恢复需要 8 小时。

在这里,停机时间为 20 小时,这是我负担不起的。我最多可以承受 4 小时的停机时间。

那么我将如何将 20 小时内发生的增量更改刷新到生产数据库中,而数据库则位于另一台服务器上。

请帮忙。

小智 5

好的 - 如果您不能转储 + 还原,并且不想充分了解您的系统以设置复制,那么您只剩下一个选择了。

您需要在每一端运行相同的设置(PostgreSQL 版本、32/64 位、编译选项、文件路径等)。

然后,scp 整个数据目录 - 包括所有 WAL 文件(pg_xlog)和所有其他子目录。

在安静期间,停止您的主服务器并使用 rsync 使您的副本相对于原始服务器保持最新。然后,启动复制的服务器,然后就可以了。

你能不能在不到 4 小时内做到这一点,我不知道。这将取决于 rsync 的实际效率、两个系统之间的延迟、您拥有多少更新等。

停止主服务器之前运行 rsync 可能会使实际运行速度更快。很难说。