2

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

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

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

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

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

4

2 回答 2

2

主要的并发症是迁移到新服务器。移动 200 GB 需要一段时间。转储到磁盘,然后将磁盘携带或发送到新服务器可能会更快。这将避免通过网络发送 200 GB 的数据。

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

于 2014-09-20T20:50:37.270 回答
2

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

于 2014-09-20T19:22:42.817 回答