postgresql - 在 Heroku Postgres 上导入新表时限制停机时间

标签 postgresql heroku heroku-postgres

我们有几个表,其中包含大量条目,有时需要重新导入。只涉及一些表,所以我们不使用 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/

相关文章:

sql - 如何修改/更新 json 数组中的多个值

sql - 时间戳数组上的 PostgreSQL 查询

postgresql - pgadmin 更新后无法登录

mysql - 如何通过mysql工作台将我的Mysql数据库推送到heroku?

node.js - 在 Heroku Postgres 中继续迁移 : Chain of errors

python - 如何以给定的数字启动 SQLAlchemy primary_key?

使用 Maven 将 Java 应用程序部署到 heroku 失败

iphone - Objective-C 流媒体上传音频

heroku-postgres - 无法通过 heroku pg :psql (no response) [Windows] 连接

postgresql - 将 Heroku App 连接到外部数据库