Re: pg_ctl start may return 0 even if the postmaster has been already started on Windows - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: pg_ctl start may return 0 even if the postmaster has been already started on Windows
Date
Msg-id 20230908.141716.1245636448942130750.horikyota.ntt@gmail.com
Whole thread Raw
In response to RE: pg_ctl start may return 0 even if the postmaster has been already started on Windows  ("Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>)
Responses Re: pg_ctl start may return 0 even if the postmaster has been already started on Windows
List pgsql-hackers
At Thu, 7 Sep 2023 10:53:41 +0000, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com> wrote in 
> My first idea is that to move the checking part to above, but this may not handle
> the case the postmaster is still alive (now sure this is real issue). Do we have to
> add a new indicator which ensures the identity of processes for windows?
> Please tell me how you feel.

It doesn't seem to work as expected. We still lose the relationship
between the PID file and the launched postmaster.

> > Now, I
> > also recall that the processes spawned by pg_ctl on Windows make the
> > status handling rather tricky to reason about..
> 
> Did you say about the below comment? Currently I have no idea to make
> codes more proper, sorry.
> 
> ```
>          * On Windows, we may be checking the postmaster's parent shell, but
>          * that's fine for this purpose.
> ```

Ditching cmd.exe seems like a big hassle. So, on the flip side, I
tried to identify the postmaster PID using the shell's PID, and it
seem to work. The APIs used are avaiable from XP/2003 onwards.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center

Attachment

pgsql-hackers by date:

Previous
From: "Lepikhov Andrei"
Date:
Subject: Re: Optimize planner memory consumption for huge arrays
Next
From: Thomas Munro
Date:
Subject: Re: old_snapshot_threshold bottleneck on replica