2014-09-20 73 views
2

我正在倾销大型数据库,并且pg_dump花费了大量时间。我必须将我的数据库传输到新的服务器。我在网上搜索了很多,但每个人都建议使用相同的方法转储数据库,然后传输文件并将其恢复到新服务器上。还有另一种方法可以快速完成此操作吗?将postgres数据库传输到另一台服务器而不使用pg_dump

我必须将v 8.4.20中的数据传输到v 9.3.5。我可以只传输文件夹/ var/lib/pgsql/data/base?

我也看了这个: Copying PostgreSQL database to another server

是这种方式比普通方式更快?

我的db有756,000个表,并且大小为200 GB。

回答

2

根据the documentation可以做文件系统备份。我不希望它工作,如果你改变版本,我不希望这些文件比pg_dump的输出小得多。您所链接的答案是使用pg_dump而不写入文件,而是直接流到目标服务器。如果这是一个选择取决于您的网络。您也可以将这些文件复制到新服务器,并行运行这两个版本并直接转储到目标机器上的新版本。哪个选项最好取决于你的硬件,网络连接,...

1

主复杂化正在移动到一个新的服务器。移动200 GB需要一段时间。转储到磁盘可能会更快,然后将磁盘携带或发送到新服务器。这将避免通过电线发送200 GB的数据。

您可以在旧服务器上安装9.3,然后使用pg_upgrade。运行PostgreSQL的多个版本是司空见惯的;给每个人一个不同的端口号。完成之后 - 在旧服务器上运行了相同版本的PostgreSQL后,新服务器 - 其中一个alternative methods of backup and restore成为可能。