On 4/7/23 15:27, Telium Technical Support wrote:
I am string to stop my PostgreSQL (on debian 11) server using the
following command
root@d11:/# sudo -u postgres /usr/bin/pg_ctlcluster 15 main stop -- -m
fast -D /var/lib/postgresql/13/main
Notice: extra pg_ctl/postgres options given, bypassing systemctl for
stop operation
pg_ctl: PID file "/var/lib/postgresql/13/main/postmaster.pid" does not exist
Is server running?
The notice is correct, the is no such postmaster.pid file in that
directory, but yes the service is running. I can confirm it's running with:
root@d11:/# sudo -u postgres /usr/bin/pg_ctlcluster 15 main status -- -D
/var/lib/postgresql/13/main
pg_ctl: server is running (PID: 2701882)
/usr/lib/postgresql/15/bin/postgres "-D" "/var/lib/postgresql/13/main"
"-c" "config_file=/etc/postgresql/15/main/postgresql.conf"
So why is my stop command being ignored? (I tried without the -m fast
option but no change, and I'd like to keep that for other reasons). I
confirmed with 'ps ax' that postgresql 15 is running, despite the
directory suggesting it might be 13. Coincidentally, there is a
postmaster.pid file in a directory OTHER than the data directory:
/var/lib/postgresql/15/main/postmaster.pid
(and notice the 15). Is this a clue?
Yes that this:
sudo -u postgres /usr/bin/pg_ctlcluster 15 main stop -- -m fast -D
/var/lib/postgresql/13/main
is not correct.
First do:
pg_lsclusters
to determine what is actually running.
Then do
sudo -u postgres /usr/bin/pg_ctlcluster <version> main stop -- -m fast
-D /var/lib/postgresql/13/main stop -m fast
for whatever version is running.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx