我们有几个表,其中包含大量条目,有时需要重新导入。只涉及一些表,所以我们不使用 restore
但是类似这样的命令:
heroku pg:psql --app ourapp HEROKU_POSTGRESQL_WHITE < data.sql
这大约需要 30 分钟,主要是由于数据上传(约 1GB)。
到目前为止,我们已将应用程序置于维护模式以导入新数据,但我们希望避免将来出现长时间停机。
在 Heroku 中实现此目标的最佳方法是什么?
我们减少停机时间的第一个想法是找到一种从上传速度更快的服务器运行命令的方法,但它仍然不完美。
我们考虑过使用 followers,但是当用户与应用程序交互时需要写入一些其他表,我们不确定是否可以告诉应用程序回退到 followers,即使 master db 没有'有问题。
我们还考虑过在上传新数据时完全缓存所有相关表,然后清除缓存,但 Heroku 似乎没有对缓存提供足够的控制来实现这一点。
最佳答案
导入临时的第二个表,然后删除第一个表,并在事务中重命名第二个表。
关于postgresql - 在 Heroku Postgres 上导入新表时限制停机时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39339428/