Re: [HACKERS] question: data file update when pg_basebackup in progress - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: [HACKERS] question: data file update when pg_basebackup in progress
Date
Msg-id CAKFQuwYmywMTaDUy9iOgbeaUHOoASwuSjCdg7iHArSH_s1La2w@mail.gmail.com
Whole thread Raw
In response to [HACKERS] question: data file update when pg_basebackup in progress  (Rui Hai Jiang <ruihaijiang@msn.com>)
Responses Re: [HACKERS] question: data file update when pg_basebackup in progress  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
On Tue, Apr 25, 2017 at 9:08 AM, Rui Hai Jiang <ruihaijiang@msn.com> wrote:
When pg_basebackup is launched, a checkpoint is created first, then all files are transferred to the  pg_basebackup client.  Is it possible that a data page(say page-N) in a data file is changed after the checkpoint and before the pg_basebackup is finished?

​I believe so.
If this happens,  is it possible that only part of the changed page be transferred to the pg_basebackup client?  i.e.  the pg_basebackup client gets page-N with part of the old content and part of the new content. How does postgreSQL handle this kind of data page?

​The first write to a page after a checkpoint is always recorded in the WAL as a full page write.  Every ​WAL file since the checkpoint must also be copied to the backed up system.  The replay of those WAL files is what brings the remote and local system into sync with respect to all changes since the backup checkpoint.

David J.

pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: [HACKERS] Cached plans and statement generalization
Next
From: David Fetter
Date:
Subject: Re: [HACKERS] Cached plans and statement generalization