Thread: BUG #4875: /etc/init.d/postgresql status shows postmaster is stopped when executed as user

The following bug has been logged online:

Bug reference:      4875
Logged by:          Armin Jenewein
Email address:      jenewein@googlemail.com
PostgreSQL version: 8.1.11
Operating system:   CentOS 5.3
Description:        /etc/init.d/postgresql status shows postmaster is
stopped when executed as user
Details:

When i run "/etc/init.d/postgresql status" as a non-root user, it shows
"postmaster is stopped" while it actually is running. If i run it as root it
reports correctly.

I was able to reproduce this on several CentOS 5.3 machines. The exactly
same init script with the same postgres version (8.1.11) on CentOS 4.4 makes
no problems at all. Also, i wasn't able to reproduce this on any
Debian/Ubuntu machine.

Tho i don't think a user should play around with init scripts, the output
should NEVER lie to a user, be it a root user or not.

Yours sincerely,

Armin Jenewein
"Armin Jenewein" <jenewein@googlemail.com> writes:
> When i run "/etc/init.d/postgresql status" as a non-root user, it shows
> "postmaster is stopped" while it actually is running. If i run it as root it
> reports correctly.

AFAICS this just depends on "pidof postmaster".  Perhaps you should be
filing a bug against pidof.

            regards, tom lane
On Sun, 2009-06-28 at 00:32 -0400, Tom Lane wrote:
> "Armin Jenewein" <jenewein@googlemail.com> writes:
> > When i run "/etc/init.d/postgresql status" as a non-root user, it shows
> > "postmaster is stopped" while it actually is running. If i run it as root it
> > reports correctly.
>
> AFAICS this just depends on "pidof postmaster".  Perhaps you should be
> filing a bug against pidof.

First, though, make sure that SELinux isn't hiding the `postmaster'
process from your normal users. Make sure you can actually see it with
`ps aux' or `ps -ef' .

--
Craig Ringer