Vulpo One

Фикс Prosody на PostgreSQL в CentOS 7

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

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

    systemctl edit prosody
    

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

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

    mkdir /etc/systemd/system/prosody.service.d
    cd /etc/systemd/system/prosody.service.d
    touch override.conf
    
  3. в override.conf помещаем следующий текст:

    [Unit]
    After=postgresql.service
    Requires=postgresql.service
    
  4. даем systemd обновить конфиги

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