我正在转储一个巨大的数据库,而pg_dump花费了很多时间。我必须把我的数据库转移到一个新的服务器上。我在网上搜索了很多,但每个人都建议使用相同的方法来转储数据库,然后传输文件并在新服务器上恢复。有其他方法可以这么快吗?
我必须传输第8.4.20版至第9.3.5版中的数据。我可以转移文件夹/var/lib/pgsql/data/base吗??
我还看了一下:将PostgreSQL数据库复制到另一个服务器
这条路比通常的路快吗?
我的数据库有756000个表,大小为200 GB。
主要的复杂性是转移到新的服务器。移动200 GB需要一段时间。将磁盘转储到磁盘,然后将磁盘携带或发送到新服务器可能会更快。这样可以避免通过网络发送200 GB的数据。
您可能可以在旧服务器上安装9.3,然后使用pg_upgrade。运行多个版本的PostgreSQL是很常见的;给每个端口一个不同的端口号。做到了这一点——在旧服务器和新服务器上运行相同版本的PostgreSQL——备份和恢复的替代方法之一成为可能。
根据文档,可以进行文件系统备份。如果您更改版本,并且我不希望文件比pg_dump的输出小得多,我不希望它工作。您链接到的答案是使用pg_dump而不写入文件,而是直接流式传输到目标服务器。如果这是一个选择取决于你的网络。您还可以将文件复制到新服务器,并行运行两个版本,并直接转储到目标计算机上的新版本。哪些选项是最好的在很大程度上取决于您的硬件、网络连接。。。