在pg_restore期间禁用WAL归档?

Ale*_*lin 4 postgresql archiving database-restore wal postgresql-9.3

假设我pg_dump在进行大规模的破坏性迁移之前对Postgres 9.3数据库进行了快速备份转储,我发现我想撤消它.在此期间没有对DB执行任何写入操作.

假设我运行pg_restore -c -d mydb < foo.dump将转储加载回数据库.假设我已经设置WAL-E来存档每个16mb的WAL,我是否需要archive_mode在执行恢复之前关闭?当我将转储写回数据库时,归档xlog对我来说是非常有用的,因为我已经在转储之前已经存档了完全有效的基本备份和WAL段.当我恢复转储时,执行xlog传输也会产生严重后果,因为转储的大小会变得更糟.

在恢复之前,您最终会禁用存档吗?你还做其他什么来加快速度吗?在这篇文章中讨论了恢复性能,但它根本不涉及归档,除非我遗漏了一些东西.

Cra*_*ger 7

你无法真正打开和关闭WAL存档.WAL重放需要连续性.

如果你关闭了WAL归档,然后进行了更改,然后重新打开,关闭它后再生成的新WAL将无用.它们无法应用于数据库,您必须先进行新的基本备份才能恢复WAL重放/ PITR.

如果在还原过程中关闭xlog发货,则需要清除旧的基本备份和WAL存档,然后在恢复WAL运输之前创建新的基本备份.

  • 如果那是PostgreSQL安装中唯一的数据库,请确定。但是,如果在同一安装中有其他具有其他有价值数据的DB,则可能会出现问题,因为预写日志,事务日志等在所有数据库中都是全局的。 (2认同)