pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael Paquier <michael@paquier.xyz>
To: ivan.salvato@gmail.com
To: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #16866: pg_basebackup Windows Server 2016
Date: Tue, 16 Feb 2021 10:00:17 +0900
Message-ID: <YCsZIX2A2Ilsvfnl@paquier.xyz> (raw)
In-Reply-To: <16866-623545dc62339188@postgresql.org>
References: <16866-623545dc62339188@postgresql.org>

On Mon, Feb 15, 2021 at 03:12:10PM +0000, PG Bug reporting form wrote:
> Problem:
> backup fails when the base.tar.gz achieve di 4 GB with pg_basebackup: error:
> could not stat file
> "W:\POSTGRES\pg_backup\Base-Backup_2021-02-05_103921/base.tar.gz": Unknown
> error.

This comes from the fact that Windows stat() is not able to handle
files larger than 4GB by design, and the fact that pg_basebackup tries
to make durable all the contents of a base backup when it is done
streaming something on the target host.  I bet that the failure you
are seeing is the fsync() part for base.tar.gz.

You can bypass that by using --no-sync as option, which would
basically emulate what Postgres <= 9.6 is doing.  In Postgres 14, the
emulation of stat() has been fixed to handle the case of files larger
than 4GB:
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=bed90759fcbcd72d4d06969eebab81e47326f...

This is arguably a bugfix, so we may consider a backpatch in the
future, but knowing how invasive the fix is we are still in a phase
where we want to have some dust settle on this change and Windows has
its own way to do weird things all the time.  IMO, It may be better to
revisit that a couple of months after 14 is released so as there is
some feedback from the field with this change.
--
Michael

Attachments:

  signature.asc (application/pgp-signature, 832B) download

view thread (5+ messages)  latest in thread

Message-ID: <YCsZIX2A2Ilsvfnl@paquier.xyz>
Permalink:  ../YCsZIX2A2Ilsvfnl@paquier.xyz/
Also on:    postgresql.org/message-id/YCsZIX2A2Ilsvfnl@paquier.xyz

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: michael@paquier.xyz, ivan.salvato@gmail.com, pgsql-bugs@lists.postgresql.org
  Subject: Re: BUG #16866: pg_basebackup Windows Server 2016
  In-Reply-To: <YCsZIX2A2Ilsvfnl@paquier.xyz>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox