我想把我的最后一个heroku postgres备份发送到S3,将其存储在heroku基础设施之外,以防我在错误的数据库上点击‘删除’。
要实现这一点,我需要备份的URL。我试图运行heroku pg:backups public-url -q,但它在一次性的dyno上不起作用(我已经在heroku run bash dyno上尝试过了)。似乎heroku工具带在dynos上不可用。
我想我可以使用platform-api gem,但它似乎不支持pg:backups。
你知道我怎样才能在heroku调度程序上得到pg备份数据吗?或者,您是否有更好的方法将数据库备份发送到S3?
发布于 2018-10-15 01:13:31
有点晚了,为那些将来有这个问题的人回答。
Heroku平台中没有内置任何东西,可以直接、自动地将Postgres备份导出到平台外存储。有一种相当简单的方法来管理这一点,而不需要太多的努力。
假设包含有问题的数据库的应用程序名为foo,并且您在该数据库上有一个计划的每日备份。您希望定期将备份导出到S3,如问题所述。首先,创建一个功能类似于服务帐户的虚拟应用程序。现在我们将其命名为bar。
现在,确保将Heroku CLI buildpack包含在此应用程序中,并按照设置说明进行操作。这样你就可以直接从bar的应用程序代码中授权和访问命令行界面。现在你可以将Heroku Scheduler插件添加到bar中,并编写一些应用程序代码(比如rake任务,因为我们说的是ruby)来完成下载和备份。一旦你计划该任务在你喜欢的时间间隔运行,你就有了一个可以为你存档Postgres备份的应用程序。
https://stackoverflow.com/questions/38994394
复制相似问题