On Mon, Jan 28, 2019 at 09:05:26AM +0100, Magnus Hagander wrote:
> Yeah, that could be done without giving up any of the guarantees -- we only
> give the guarantee at the end of the completed backup. I wouldn't
> necessarily say we're wrong now, but it could definitely be a nice
> performance improvement.
The code ensures durability in its current shape, and does more than
it actually needs to.
> And for plain format, we'd do the same -- sync after each file segment, and
> then a final one of the directory when done, right?
Well, the code is doing a double amount of work in its current shape
as we call fsync_pgdata() for the plain format, which cascades to
pg_wal and all its files, so it seems to me that there is little point
in issuing a sync when each segment is finished streaming if that's
what you mean.
--
Michael