systemd
предназначен для чистой обработки этого случая. Это можно сделать, создав небольшой файл, указывающий команду, которую вы хотите выполнить в рамках остановки службы PostgreSQL. Сначала создайте каталог с именем:
/etc/systemd/system/postgresql.d/
В нем создайте файл с любым именем, которое заканчивается на .conf
, например custom-shutdown.conf
. Добавьте в этот файл пару строк, подобных этой:
[Service]
ExecStop=/usr/bin/su - postgres -c "/opt/postgres-95/bin/pg_ctl -D /database/inst1/data -w stop &"
Вы можете использовать ExecStopPost=
в зависимости от вашего случая.
Смотрите официальные документы для Расширение конфигурации по умолчанию, а также официальные документы для ExecStop=
и ExecStopPost=
.