Re: Intermittent pg_ctl failures on Windows - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Intermittent pg_ctl failures on Windows
Date
Msg-id 26631.1563371508@sss.pgh.pa.us
Whole thread Raw
In response to Re: Intermittent pg_ctl failures on Windows  (r.zharkov@postgrespro.ru)
Responses Re: Intermittent pg_ctl failures on Windows  (r.zharkov@postgrespro.ru)
Re: Intermittent pg_ctl failures on Windows  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
r.zharkov@postgrespro.ru writes:
> pg_ctl now opens the postmaster.pid file using pgwin32_open() function 
> to correctly handle share locks.

HEAD already does that, no?  See f02259fe9.

> On Windows systems we cannot handle ERROR_DELETE_PENDING because 
> GetLastError() returns ERROR_ACCESS_DENIED instead.
> So we rename the lock files before delete them.

This seems improbably broken/stupid.  Also, I've not seen any buildfarm
failures that would match this; it's always pg_ctl complaining not the
postmaster.

> To avoid the second error we added the wait for cmd.exe finish in the 
> do_stop() and do_restart() functions.

Hmmm ... there seems the germ of a good idea here, but can't we do
it with less (and less ugly) code?

Alternatively, perhaps we could fix things so that the parent cmd.exe
shell isn't involved in logfile access?  That'd require teaching the
postmaster to open/redirect its stdout/stderr, which is kind of
annoying, but it might beat hacking things as you have done here.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Jeevan Chalke
Date:
Subject: Re: block-level incremental backup
Next
From: Ibrar Ahmed
Date:
Subject: Re: block-level incremental backup