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?
I wonder if the best way to proceed would be to go on to individual nodes in the cluster and use OS level commands (such as ps) to track individual processes and stop them individually.
On Fri, Apr 7, 2023 at 6:27 PM Telium Technical Support <support@xxxxxxxxx> wrote: