如何将 postgres 数据库转移到不同的服务器

如何将 postgres 数据库转移到不同的服务器

我计划将大约 100GB 的 Postgres 数据库转移到新服务器。将数据目录复制到新服务器并在那里启动数据库是否安全?还是我需要在第一台服务器上进行转储,然后在第二台服务器上进行恢复?

第一台服务器的数据库分区大约为 120GB,第二台服务器的数据库分区为 1TB。两台服务器都在 Debian 上运行相同版本的 Postgres,并通过 1GB 以太网连接。这两种传输数据库的方法有什么区别吗?将数据传输到新服务器的最快(停机时间最少)方法是什么?

答案1

只要它们具有相同的架构,那么您就可以关闭并同步文件。

答案2

您可能还考虑转储并导入数据库。您可以将转储定位到新分区(可能通过 NFS 挂载)。

否则,@Matt 的解决方案很好。

答案3

这次迁移可能已经完成,但我想我还是可以参与进来。

准备和设置需要更长的时间,但您可以通过在 2 个服务器之间设置复制来传输数据。您可以使用 bucardo、londiste 或 slony。与 rsync 相比,这将最大限度地减少停机时间。根据我的经验,一旦要 rsync 的文件大小超过 10GB,rsync 可能需要几分钟才能比较源主机和目标主机之间的磁盘块。

相关内容