On Mon, Jan 28, 2019, at 10:25, Michael Paquier wrote: > On Mon, Jan 28, 2019 at 09:05:26AM +0100, Magnus Hagander wrote:
> > 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. Agreed. While reading the doc page for the pg_basebackup, I've been confused by the fact that it says WAL files will be written to .tarballs (either base.tar or pg_wal.tar) when pg_basebackup is instructed to stream WALs alongside the backup itself. I think it makes sense to elaborate that it only happens when tar format is specified (doc patch is attached). Cheers, Oleksii
diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index 57dc83b620..c4f3950e5b 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -306,8 +306,8 @@ PostgreSQL documentation backup will fail and be unusable. </para> <para> - The write-ahead log files will be written to - the <filename>base.tar</filename> file. + When tar format mode is used, the write-ahead log files will be + written to the <filename>base.tar</filename> file. </para> </listitem> </varlistentry> @@ -326,9 +326,10 @@ PostgreSQL documentation requires no extra write-ahead logs to be saved on the master. </para> <para> - The write-ahead log files are written to a separate file - named <filename>pg_wal.tar</filename> (if the server is a version - earlier than 10, the file will be named <filename>pg_xlog.tar</filename>). + When tar format mode is used, the write-ahead log files will be + written to a separate file named <filename>pg_wal.tar</filename> + (if the server is a version earlier than 10, the file will be named + <filename>pg_xlog.tar</filename>). </para> <para> This value is the default.