3

我正在尝试将 postgres-9.3 升级到 postgres-10,数据库大小约为 165GB。我正在使用“sudo pg_upgradecluster 9.3 main”来执行此操作,但这需要大约 8 小时,这对于我的实时 web 应用程序来说停机时间太长了。任何建议以减少停机时间和更快地使其更好。

4

1 回答 1

5

您可以告诉pg_upgradecluster使用 Postgres 的 pg_upgrade 工具和该--link选项,该选项应该在几分钟而不是几小时内完成:

pg_upgradecluster --method=upgrade --link ......

请注意,--link 不会复制您的数据,因此恢复升级的唯一方法是将上次备份恢复到 9.3 安装。

引用 Postgres 手册

如果使用链接模式,升级会更快(无需复制文件)并且使用更少的磁盘空间,但是一旦升级后启动新集群,您将无法访问旧集群。

...

如果您想使用链接模式并且不希望在新集群启动时修改旧集群,请制作旧集群的副本并在链接模式下升级它。要制作旧集群的有效副本,请在服务器运行时使用 rsync 创建旧集群的脏副本,然后关闭旧服务器并再次运行 rsync --checksum 以使用任何更改更新副本以使其持续的。

于 2019-06-28T05:42:06.573 回答