我有一个在 Azure VM 上运行的 PostgreSQL 9.5 实例。如此处所述,我必须指定一个 post- 和一个 prescript 来告诉 Azure:“是的,我已经将 VM 置于一个状态,因此整个 VM/blob 可以作为可以恢复的快照进行备份作为一个正在工作的新虚拟机”和“现在我完成了”,因此 Azure 会将备份标记为应用程序一致。
就 PostgreSQL 而言,我已经阅读了有关连续归档的文档,其中说明了为什么以及如何启用 WAL 归档以允许备份。我的问题来了:
如果我设置archive_mode = on
and wal_level = archive
,我可以archive_command
留空吗,这是否有意义?或者 - 我应该在此处进行某种归档(例如将日志段复制到另一个位置/磁盘),并且在我的场景中恢复 VM 时确保数据库正常工作是否有必要进行归档?
我只需要告诉 PostgreSQL “等一下/保持你的数据写入(或其他任何事情),同时我会创建整个 VM 的快照”。该计划是先执行pg_start_backup()
,然后拍摄快照pg_stop_backup()
。
我确实意识到,这种方法(如果它甚至是有效的)本质上是一个文件系统级别的备份,并且根据 docs,必须关闭 postgres-service 才能使 fs-backup 有效。我读到的另一个地方pg_start_backup()
应该足以保证有效的独立物理备份。