Re: BUG #19391: pg_ctl: the PID file "/xxxx/postmaster.pid" is empty - Mailing list pgsql-bugs

From Dmitry Kovalenko
Subject Re: BUG #19391: pg_ctl: the PID file "/xxxx/postmaster.pid" is empty
Date
Msg-id c431719e-43cc-4a8e-a8d5-bc915d768db2@postgrespro.ru
Whole thread Raw
In response to Re: BUG #19391: pg_ctl: the PID file "/xxxx/postmaster.pid" is empty  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Hello,

Hope, I was able to fix this problem on a level of my code.

When I get an error "the PID file "/xxxx/postmaster.pid" is empty" I try 
to find postmaster process.

If it exists, I sleep few seconds and try to call pg_ctl again.

I am using ps + grep to find this process.

I think, it will be really useful to get this PID from "pg_ctl start" 
output instead this combination. If it possible, of course.

Thanks&Regards,

Dmitry Kovalenko

31.01.2026 4:52, Tom Lane пишет:
> PG Bug reporting form <noreply@postgresql.org> writes:
>> My test framework uses "pg_ctl status ..." to detect a state of Postgres
>> instance - uninitialized, stopped, running.
>> Time from time, it returns the error - pg_ctl: the PID file
>> "/xxxx/postmaster.pid" is empty
> If you're issuing "pg_ctl status" while a postmaster is starting, it's
> possible that you're hitting the tiny window where CreateLockFile()
> has opened the file but not yet written anything into it.
>
> We could imagine making pg_ctl not treat this as an error, but
> I'm hesitant to do so because of possibly creating race conditions
> for the pg_ctl start/stop cases.  (Well, it's inherently a race
> situation if you issue two concurrent starts ... what I mean is
> that failing is the safest option in that scenario.)  Depending
> on what you intend to do with the pg_ctl status result, acting
> as if this isn't an error case could be risky there too.
> Given an empty file, we can't distinguish "a postmaster is in
> progress of starting" from "a postmaster died while starting",
> since no PID is available to test.
>
>             regards, tom lane



pgsql-bugs by date:

Previous
From: surya poondla
Date:
Subject: Re: BUG #19382: Server crash at __nss_database_lookup
Next
From: Álvaro Herrera
Date:
Subject: Re: Re: Re: BUG #19351: in pg18.1,when not null exists in the table , and add constraint problem.