关于postgresql:将postgres数据库传输到另一台服务器而不使用pg_dump

transfer a postgres database to another server without using pg_dump

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

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

我也看了看这个:
将PostgreSQL数据库复制到另一台服务器

这种方式比通常的方式更快吗?

我的数据库有756,000个表,大小为200 GB。


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


主要的复杂功能是迁移到新的服务器。移动200 GB需要一段时间。转储到磁盘,然后将磁盘传送或发送到新服务器可能会更快。这样可以避免通过线路发送200 GB的数据。

您可以在旧服务器上安装9.3,然后使用pg_upgrade。运行多个版本的PostgreSQL很常见;给每个人一个不同的端口号。完成这项工作后 - 在旧服务器和新服务器上运行相同版本的PostgreSQL - 备份和恢复的替代方法之一成为可能。