Re: pg_ctl start may return 0 even if the postmaster has been already started on Windows

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, michael@paquier.xyz
Cc: robertmhaas@gmail.com, kuroda.hayato@fujitsu.com, shlok.kyal.oss@gmail.com, pgsql-hackers@lists.postgresql.org, tgl@sss.pgh.pa.us
Date: 2024-06-06T19:03:41Z
Lists: pgsql-hackers
On 2024-06-06 Th 04:15, Kyotaro Horiguchi wrote:
> At Thu, 06 Jun 2024 16:45:00 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in
>> I have been thinking about this since then. At first, I thought it
>> referred to FindFirstChangeNotification() and friends, and inotify on
>> Linux. However, I haven't found a way to simplify the specified code
>> area using those APIs.
> By the way, the need to shift by 2 seconds to tolerate clock skew
> suggests that the current launcher-postmaster association mechanism is
> somewhat unreliable. Couldn't we add a command line option to
> postmaster to explicitly pass a unique identifier (say, pid itself) of
> the launcher? If it is not specified, the number should be the PID of
> the immediate parent process.
>
> This change avoids the need for the special treatment for Windows.
>

Looks good generally. I assume iterating over the process table to find 
the right pid will be pretty quick.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Commits

  1. Re-enable autoruns for cmd.exe on Windows

  2. Re-enable autoruns for for cmd.exe on Windows

  3. pg_regress: Disable autoruns for cmd.exe on Windows

  4. pg_ctl: Disable autoruns for cmd.exe on Windows