RE: Are ZFS snapshots unsafe when PGSQL is spreading through multiple zpools?
HECTOR INGERTO <hector_25e@hotmail.com>
From: HECTOR INGERTO <hector_25e@hotmail.com>
To: Laurenz Albe <laurenz.albe@cybertec.at>, Magnus Hagander <magnus@hagander.net>
Cc: "pgsql-general@postgresql.org <pgsql-general@postgresql.org>" <pgsql-general@postgresql.org>
Date: 2023-01-16T14:37:23Z
Lists: pgsql-general
> The database relies on the data being consistent when it performs crash recovery. > Imagine that a checkpoint is running while you take your snapshot. The checkpoint > syncs a data file with a new row to disk. Then it writes a WAL record and updates > the control file. Now imagine that the table with the new row is on a different > file system, and your snapshot captures the WAL and the control file, but not > the new row (it was still sitting in the kernel page cache when the snapshot was taken). > You end up with a lost row. > > That is only one scenario. Many other ways of corruption can happen. Can we say then that the risk comes only from the possibility of a checkpoint running inside the time gap between the non-simultaneous snapshots?