Re: BUG #19391: pg_ctl: the PID file "/xxxx/postmaster.pid" is empty

From: Dmitry Kovalenko <d(dot)kovalenko(at)postgrespro(dot)ru>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19391: pg_ctl: the PID file "/xxxx/postmaster.pid" is empty
Date: 2026-02-03 09:36:59
Message-ID: c431719e-43cc-4a8e-a8d5-bc915d768db2@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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(at)postgresql(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Álvaro Herrera 2026-02-03 11:40:44 Re: Re: Re: BUG #19351: in pg18.1,when not null exists in the table , and add constraint problem.
Previous Message surya poondla 2026-02-02 21:45:41 Re: BUG #19382: Server crash at __nss_database_lookup