Subject: BUG #18361: systemd[1]: postgresql-16.service: Killing process 25992 (postgres) with signal SIGKILL.

From: PG Bug reporting form <[email-masked]>
Date: Sat, 24 Feb 2024 12:51:42 +0000

The following bug has been logged on the website:

Bug reference:      18361
Logged by:          Gena Makhomed
Email address:      [email-masked]
PostgreSQL version: 16.2
Operating system:   Rocky Linux release 9.3
Description:        

PostgreSQL 16.2 installed on the Rocky Linux release 9.3 server from
official repository with official instruction from page
https://www.postgresql.org/download/linux/redhat/

when I execute command 

# systemctl stop postgresql-16.service ; systemctl status
postgresql-16.service

I see, what PostgreSQL 16.2 was killed by SIGKILL.

this is a bug, as I understand, because database will be corrupted.

Is it possible to fix this bug and stop killing PostgreSQL with signal
SIGKILL ?

# systemctl stop postgresql-16.service ; systemctl status
postgresql-16.service
○ postgresql-16.service - PostgreSQL 16 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-16.service; enabled;
preset: disabled)
     Active: inactive (dead) since Sat 2024-02-24 12:47:19 UTC; 6ms ago
   Duration: 3.525s
       Docs: https://www.postgresql.org/docs/16/static/
    Process: 26666 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir
${PGDATA} (code=exited, status=0/SUCCESS)
    Process: 26671 ExecStart=/usr/pgsql-16/bin/postgres -D ${PGDATA}
(code=exited, status=0/SUCCESS)
   Main PID: 26671 (code=exited, status=0/SUCCESS)
        CPU: 43ms

Feb 24 12:47:15 postgres-16.example.net systemd[1]: Starting PostgreSQL 16
database server...
Feb 24 12:47:15 postgres-16.example.net postgres[26671]: 2024-02-24
12:47:15.985 UTC [26671] LOG:  redirecting log output to logging collector
process
Feb 24 12:47:15 postgres-16.example.net postgres[26671]: 2024-02-24
12:47:15.985 UTC [26671] HINT:  Future log output will appear in directory
"log".
Feb 24 12:47:15 postgres-16.example.net systemd[1]: Started PostgreSQL 16
database server.
Feb 24 12:47:19 postgres-16.example.net systemd[1]: Stopping PostgreSQL 16
database server...
Feb 24 12:47:19 postgres-16.example.net systemd[1]: postgresql-16.service:
Killing process 26672 (postgres) with signal SIGKILL.
Feb 24 12:47:19 postgres-16.example.net systemd[1]: postgresql-16.service:
Deactivated successfully.
Feb 24 12:47:19 postgres-16.example.net systemd[1]: Stopped PostgreSQL 16
database server.

---

From: Gena Makhomed <[email-masked]>
Date: Sun, 25 Feb 2024 10:50:15 +0200

Previously posted to pgsql-bugs mail list
<https://www.postgresql.org/message-id/18361-1a3f843f5f6ce694%40postgresql.org>
as BUG #18361, but as I understand later, this may not be the PostgreSQL
bug itself, but it may be the rpm/yum/dnf packaging bug?

Can you please help to fix this bug, or find a workaround?

Because killing postgres via SIGKILL is not a good idea.

---------- Forwarded message ---------
От: PG Bug reporting form <[email-masked]>
Date: сб, 24 февр. 2024 г. в 14:52
Subject: BUG #18361: systemd[1]: postgresql-16.service: Killing process
25992 (postgres) with signal SIGKILL.
To: <[email-masked]>

Bug reference:      18361
PostgreSQL version: 16.2

when I execute command

-- 
*Please consider the environment before printing*

---

From: Laurenz Albe <[email-masked]>
Date: Mon, 26 Feb 2024 10:19:09 +0100

On Sun, 2024-02-25 at 10:50 +0200, Gena Makhomed wrote:
> Previously posted to pgsql-bugs mail list asBUG #18361, but as I understand later, this may not be the PostgreSQL bug itself, but it may be the rpm/yum/dnf packaging bug?
> 
> Feb 24 12:47:19 postgres-16.example.net systemd[1]: Stopping PostgreSQL 16 database server...
> Feb 24 12:47:19 postgres-16.example.net systemd[1]: postgresql-16.service: Killing process 26672 (postgres) with signal SIGKILL.
> Feb 24 12:47:19 postgres-16.example.net systemd[1]: postgresql-16.service: Deactivated successfully.
> Feb 24 12:47:19 postgres-16.example.net systemd[1]: Stopped PostgreSQL 16 database server.

Strange.  In my "postgresql-16.service", I find

  TimeoutStopSec=1h

which should make systemd wait for an hour after sending SIGTERM before it
uses SIGKILL.  Is your setting different?

> Please consider the environment before printing

Aww.  I would have liked to make a poster from it.

Yours,
Laurenz Albe

---

From: Gena Makhomed <[email-masked]>
Date: Tue, 27 Feb 2024 23:34:10 +0200

On Mon, Feb 26, 2024 at 11:19 AM Laurenz Albe <[email-masked]>
wrote:

> > Feb 24 12:47:19 postgres-16.example.net systemd[1]:
> postgresql-16.service: Deactivated successfully.

No, I do not change anything in the postgresql-16.service file, I just
install Postgres 16.2 on the virtual machine with Rocky Linux 9.3, using
detailed step-by step instruction, provided on the page
https://www.postgresql.org/download/linux/redhat/ for Rocky Linux 9 and
execute:

# systemctl start postgresql-16.service ; systemctl status

wait some time, and when - execute this command:

and got result:

postgresql-16.service: Killing process 26672 (postgres) with signal
SIGKILL.

Is it possible to avoid this SIGKILL ?

---

From: Devrim Gündüz <[email-masked]>
Date: Tue, 27 Feb 2024 21:40:38 +0000

Hi,

> postgresql-16.service: Killing process 26672 (postgres) with signal

I don't think this thread belongs to this list, but you should check
PostgreSQL logs for more details.

Regards,
-- 
Devrim Gündüz
Open Source Solution Architect, PostgreSQL Major Contributor
Twitter: @DevrimGunduz , @DevrimGunduzTR