【发布时间】:2021-12-24 13:35:30
【问题描述】:
我有 2 个数据库服务器。一个用于开发,一个用于生产,我想做的是创建一个哑的生产数据库,并在特定时间使用 nodejs 将其与开发数据库同步。
【问题讨论】:
标签: javascript node.js database postgresql cron
我有 2 个数据库服务器。一个用于开发,一个用于生产,我想做的是创建一个哑的生产数据库,并在特定时间使用 nodejs 将其与开发数据库同步。
【问题讨论】:
标签: javascript node.js database postgresql cron
Postgres 提供开箱即用的 pg_dump(单个 DB)和 pg_dumpall(所有 DB)实用程序。最简单的方法可能是使用 cron 作业自动备份源数据库并将其 scp 到目标服务器,然后通过 cron 作业在目标服务器上恢复数据库:
在源服务器上:
crontab -e
0 0 * * 0 pg_dumpall -U postgres > ~/backups/backup.bak
# scp to your destination server
如果您在主要的云环境之一中工作,他们将拥有自己的工具可以提供帮助,例如 AWS,您可以自动生成快照,然后从快照中恢复(或者让 lambda 执行从快照中恢复的操作)在nodeJs中建议)
或者(超酷的方式)是使用 AWS DMS(数据迁移服务)CDC - 更改数据捕获,您可以使用一个或多个目标副本即时复制源数据库(避免转储和恢复)
【讨论】:
我假设您的意思是转储,并为您搜索: https://www.joseverissimo.com/blog/automatically-export-a-database-and-import-it-to-another-using-node-js
现在您应该确保它作为 cronjob 运行。
【讨论】: