Thank you all a lot for the detailed answers! :)

Kaixi

On Thu, Jun 30, 2016 at 3:15 PM Michael Paquier <michael.paqu...@gmail.com>
wrote:

> On Thu, Jun 30, 2016 at 9:00 PM, Kaixi Luo <kaixi...@gmail.com> wrote:
> >> Before replaying a backup on a production system, you would need a
> >> pre-production setup where the backup is replayed and checked.
> >> Honestly, you can only be sure that a backup is working correctly
> >> after reusing it. You could always do some validation of the raw
> >> backup contents, but you need at the end the WAL applied on top of it
> >> to be able to check the status of a server that has reached a
> >> consistent point.
> >
> >
> > Could you elaborate a bit more on this last part? If a PostgreSQL
> recovery
> > from a pg_basebackup reaches a consistent point and is able to start up
> > fully, that is not a guarantee that there hasn't been any underlying
> > corruption, as far as I know. Am I correct on this?
>
> You are correct, that's why you need a copycat of the production
> system that is a pre-stage of the production stage, where the backups
> are replayed and checked with an application that replays the patterns
> of the production application. Applying extra checks on top of that is
> good as well: pg_dump, data checksums, index consistency checks (this
> makes regret that we don't have pg_amcheck in core yet actually), etc.
> --
> Michael
>

Reply via email to