微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在本地 Flask 环境中自动使用生产 postgres 数据库备份

如何解决如何在本地 Flask 环境中自动使用生产 postgres 数据库备份

我们的网站使用 Postgres 和 Flask,并且我们经常在本地使用生产数据库转储。为了获得新的转储,我使用远程桌面连接 (RDC) 连接到 pgAdmin,然后再次使用 RDC 从服务器复制 .bak 文件并将其保存在本地。同样,我使用 pdAdmin 的本地实例从备份中恢复数据库状态。

我的经理要求我在每次启动本地 Flask 实例时自动执行此过程以使用生产数据库。我该怎么做?

解决方法

您可以编写一个 shell 脚本,使用 pg_dump 将数据库转储到本地文件,然后使用 pg_restore 从该转储构建一个新的本地数据库。您甚至可以将输出从 pg_dump 传递到 pg_restore...类似

pg_dump --host <remote-database-host> --dbname <remote-database-name> --username <remote-username> > pg_restore --host <local-database-host> --username <local-username>

要将您的密码输入 pg_dump / pg_restore,您可能需要使用 .pgpass 文件,如下所述:How to pass in password to pg_dump?

如果您希望在本地启动 Flask 实例时自动发生这种情况,如果设置了 LOCAL_INSTANCE 环境变量,您可以使用 subprocess 调用从您的初始化代码中调用 shell 脚本,或者类似的内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。