如何将postgres数据库传输到不同的服务器

我打算将一个〜100GB的Postgres数据库转移到新的服务器上。 只是将数据目录复制到新的服务器并在那里启动数据库,还是需要在第一台服务器上执行转储,然后在第二台服务器上执行还原?

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

只要他们是相同的架构,那么你应该罚款closures,然后rsyncing文件。

你也可以考虑做一个转储并导入数据库。 您可以将转储目标定位到新分区(可能通过NFS挂载)。

否则, @马特的解决scheme是好的。

这个迁移可能已经完成了,但是我想我可以随时发出响应。

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