你好!我重新拾起了之前提到的迁移工作。由于原始安装所在的(过时的)主机出现了一些问题,这件事变得更加紧迫。
背景:在迁移到新实例的过程中,我决定迁移到一个外部的 PG 和 Redis 实例。新安装的设置很顺利,我计划通过命令行进行备份 + 恢复来完成迁移。目前我正试图测试工作流程,确保新恢复的实例按预期工作,然后再将原始实例设置为只读并继续进行,特别是考虑到这是一个相当老旧/庞大的实例。
旧实例:简单的自托管设置,一个实例,带有标准的共置 PG、Postgres 和 Redis。
新实例:相同的 app.yml,但使用外部托管的 PG + Redis(DigitalOcean)。
恢复命令似乎运行了很长时间。然后,在相当长一段时间后,我一直收到一个看起来像这样的错误(包括一些成功的日志作为参考):
COPY 99820
COPY 3216770
COPY 3251307
SSL connection has been closed unexpectedly
FATAL: terminating connection due to administrator command
CONTEXT: COPY post_timings, line 63404000: "8311 4897 1816 6999"
SSL connection has been closed unexpectedly
FATAL: terminating connection due to administrator command
CONTEXT: COPY post_timings, line 63404000: "8311 4897 1816 6999"
invalid socket
connection to server was lost
EXCEPTION: psql failed: connection to server was lost
/var/www/discourse/lib/backup_restore/database_restorer.rb:95:in `restore_dump'
在运行过程中,它发生在不同的具体复制点,所以我认为这与迁移本身无关。考虑到数据库连接显然都正常工作,我认为可以安全地假设这是与 DigitalOcean 的行为有关的问题,但我希望社区里有人遇到过类似的情况,并能指引我方向。