Натолкнулся тут на не очень приятное поведение Prosody, хранящего данные в Посгресе. При перезапуске pg или даже если просто prosody запущен при загрузке раньше, чем pg, он не может найти данные и не работает. К счастью, для CentOS с systemd есть быстрый фикс, уменьшающий неприятности этой проблемы — надо лишь чуть-чуть подправить файл сервиса.

0. Если бы у нас был новый systemd, мы бы набрали команду

systemctl edit prosody

и попали бы на шаг 2

1. но systemd в CentOS 7 уже староват и там такой команды еще не было, так что делаем всё вручную

mkdir /etc/systemd/system/prosody.service.d
cd /etc/systemd/system/prosody.service.d
touch override.conf

2. в override.conf помещаем следующий текст:

[Unit]
After=postgresql.service
Requires=postgresql.service

3. даем systemd обновить конфиги

systemctl daemon-reload

4. Профит! Теперь при запуске prosody будет пытаться сначала запустить и подождать postgres и перезапускаться при его перезапуске

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.