Re: [PATCH] Atomic pgrename on Windows - Mailing list pgsql-hackers

From Andres Freund
Subject Re: [PATCH] Atomic pgrename on Windows
Date
Msg-id 20171129022400.jupqhik42gznnt2r@alap3.anarazel.de
Whole thread Raw
In response to Re: [PATCH] Atomic pgrename on Windows  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-hackers
On 2017-11-29 10:13:32 +0800, Craig Ringer wrote:
> On 29 November 2017 at 00:16, Alexander Korotkov <a.korotkov@postgrespro.ru>
> wrote:
> 
> >
> > For now, ReplaceFile() function looks like best choice for renaming
> > statfiles.  But it doesn't look good for critical datafiles whose are also
> > renamed using pgrename, because system can crash between rename of
> > destination file and rename of source file.  Thus, MoveFileEx() seems still
> > best solution for critical datafiles where safety is more important than
> > concurrency.  After reading provided links, I'm very suspicious about its
> > safety too.  But it's seems like best available solution and it have
> > already passed some test of time...

Or we can just add some retry logic like we have for opening files...


> Or alternately, we might need to extend WAL to include any temp file names,
> etc, needed to allow us to recover from an interrupted operation during
> redo. Frankly that may be the safest option; on Windows presume that there
> is no atomic rename we can trust for critical files, and do it in multiple
> steps.

I'd rather remove windows support than go there.

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: [HACKERS] Add Roman numeral conversion to to_number
Next
From: Michael Paquier
Date:
Subject: Re: [HACKERS] SQL/JSON in PostgreSQL