假设我pg_dump
在进行大规模的破坏性迁移之前对Postgres 9.3数据库进行了快速备份转储,我发现我想撤消它.在此期间没有对DB执行任何写入操作.
假设我运行pg_restore -c -d mydb < foo.dump
将转储加载回数据库.假设我已经设置WAL-E来存档每个16mb的WAL,我是否需要archive_mode
在执行恢复之前关闭?当我将转储写回数据库时,归档xlog对我来说是非常有用的,因为我已经在转储之前已经存档了完全有效的基本备份和WAL段.当我恢复转储时,执行xlog传输也会产生严重后果,因为转储的大小会变得更糟.
在恢复之前,您最终会禁用存档吗?你还做其他什么来加快速度吗?在这篇文章中讨论了恢复性能,但它根本不涉及归档,除非我遗漏了一些东西.
你无法真正打开和关闭WAL存档.WAL重放需要连续性.
如果你关闭了WAL归档,然后进行了更改,然后重新打开,关闭它后再生成的新WAL将无用.它们无法应用于数据库,您必须先进行新的基本备份才能恢复WAL重放/ PITR.
如果在还原过程中关闭xlog发货,则需要清除旧的基本备份和WAL存档,然后在恢复WAL运输之前创建新的基本备份.