Are you trying to fit the postgres backups in some overarching LVM-based backup scheme you're already running or is this from scratch?

With the possible exception of rsync's deltas & hardlink trickeries between full backups, I personally don't see a point in using a block/file-level copy for physical backups of Postgres clusters (unless you're keeping the snapshot around as the "thin backup" but that would put the backup in the same volume group as the live data; meh).


pg_basebackup (or more specifically the underlying replication protocol command BASE_BACKUP), precisely wraps up all that you're trying to accomplish here; it is perfectly aware of the internal state of operations and guarantees operations synchronisation/correctness/completeness.


It roughly boils down to (with minor variations between types of physical backups):

- dropping a checkpoint and wait for it to complete, or wait for the next one to roll around (that will be the starting point of WAL recovery when you restore)
- remember the WAL location of that checkpoint
- copy the data files "as is" without worrying about torn/corrupt pages due to changes. They will be overwritten with the amended version during WAL recovery - optionally put away a copy of all the transaction logs that were generated between the checkpoint and the end of the copy if you're not already performing WAL archival (or if you simply want your backup to be self-contained and recoverable without accessing the WAL archive).



The database will look to have crashed when you initially restore it (same as with an any form of snapshotting including LVM) and will have to go through WAL recovery anyway: the earliest version of the DB to which you can safely restore is the one at the moment the copy ended, so the benefits of the atomic low-level snapshot are negated.



By using the old exclusive start/stop_backup() & action synchronisation yourself you're just making it more manual and error prone.



Regards


F




On 30/05/2019 20:38, Lu, Dan wrote:
Hello,

Would you be able to confirm for me that a host level LVM snapshot of the PGDATA directory along with PG_WAL directly via LVM backup is supported way of backup and restore?

I read about this here: https://dba.stackexchange.com/questions/145361/backup-standby-database-using-lvm-snapshot


Is it as simple as:

èSELECT pg_start_backup('Begin LVM Backup At xyz');

èDo LVM backup from o/s end to backup PGDATA/PG_WAL

èSELECT pg_stop_backup();

Thanks.

Dan


------------------------------------------------------------------------

IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

--
Regards

Fabio Ugo Venchiarutti
OSPCFC Network Engineering Dpt.
Ocado Technology

--


Notice:  This email is confidential and may contain copyright material of members of the Ocado Group. Opinions and views expressed in this message may not necessarily reflect the opinions and views of the members of the Ocado Group. 

 

If you are not the intended recipient, please notify us immediately and delete all copies of this message. Please note that it is your responsibility to scan this message for viruses. 

 

Fetch and Sizzle are trading names of Speciality Stores Limited and Fabled is a trading name of Marie Claire Beauty Limited, both members of the Ocado Group.

 


References to the “Ocado Group” are to Ocado Group plc (registered in England and Wales with number 7098618) and its subsidiary undertakings (as that expression is defined in the Companies Act 2006) from time to time.   The registered office of Ocado Group plc is Buildings One & Two, Trident Place, Mosquito Way, Hatfield, Hertfordshire, AL10 9UL.


Reply via email to