PostgreSQL エラー「Killing process xxxx(postmaster) with signal SIGKILL.」がでて起動しない場合の対処法

PostgreSQL エラー「Killing process xxxx(postmaster) with signal SIGKILL.」がでて起動しない場合の対処法

PostgreSQLで、 エラー「Killing process xxxx(postmaster) with signal SIGKILL.」がでて起動しない場合の対処法を記述してます。

環境

  • OS Rocky Linux release 8.5 (Green Obsidian)
  • PostgreSQL 14.0

エラー全文

postgresql起動時に発生。

$ sudo systemctl start postgresql-14

エラー全文

$ sudo systemctl status postgresql-14

● postgresql-14.service - PostgreSQL 14 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2021-12-08 15:55:55 JST; 4min 7s ago
     Docs: https://www.postgresql.org/docs/14/static/
  Process: 16984 ExecStart=/usr/pgsql-14/bin/postmaster -D ${PGDATA} (code=exited, status=1/FAILURE)
  Process: 16978 ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 16984 (code=exited, status=1/FAILURE)

12月 08 15:55:55 localhost.localdomain systemd[1]: Starting PostgreSQL 14 database server...
12月 08 15:55:55 localhost.localdomain systemd[1]: postgresql-14.service: Main process exited, code=exited, status=1/FAILURE
12月 08 15:55:55 localhost.localdomain systemd[1]: postgresql-14.service: Killing process 16993 (postmaster) with signal SIGKILL.
12月 08 15:55:55 localhost.localdomain systemd[1]: postgresql-14.service: Failed with result 'exit-code'.
12月 08 15:55:55 localhost.localdomain systemd[1]: Failed to start PostgreSQL 14 database server.

原因

「/var/lib/pgsql/14/data/log」にあるlogファイルを確認すると以下が記述されていたため、

ヒント:  すでに他にpostmasterがポート5432で稼動していませんか? 稼動していなければ数秒待ってから再試行してください。

前回に正常に終了されていなかったことが原因ぽいです。

$ sudo lsof -i :5432

COMMAND    PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postmaste 1062 postgres    6u  IPv4  37690      0t0  TCP *:postgres (LISTEN)
postmaste 1062 postgres    7u  IPv6  37700      0t0  TCP *:postgres (LISTEN)

対処法

プロセスをkillする

$ sudo kill -9 1062