Имя: Пароль:
IT
Админ
Не стартует PostgreSQL 12 при запуске ОС AlmaLinux (преемник CentOS 8)
0 GANR
 
28.01.23
23:09
Установил постгрес 12 по официальной инструкции https://www.postgresql.org/download/linux/redhat для CentOS 8. Инициализировал базу, включил автозапуск службы. Содержимое папки  /var/lib/pgsql/12 перенес на раздел другого диска и с папке  /var/lib/pgsql сделал символическую ссылку на то, что перенес. При запуске ОС служба постгреса не запускается с ошибкой в которой говорится об отсуствии папки которую я заменил ссылкой. В то же время когда я уже после загрузки стартую службу все запускается нормально.

Как добиться запуска постгреса при старте ОС не возвращая данные на системный диск?
1 Garykom
 
гуру
29.01.23
08:47
(0) в линуксе нет служб (ОС не православная), там демоны
2 Garykom
 
гуру
29.01.23
08:48
вероятно монтирование диска происходит позже попытки запуска
3 GANR
 
29.01.23
18:36
(2) Спасибо. В итоге проблема решилась так

sudo systemctl edit postgresql-12.service

#добавляем 2 строчки
[Unit]
RequiresMountsFor=/postgres

и сохраняем

Да, можно было напрямую postgresql-12.service поправить, но тогда правка может исчезнуть при обновлении/переустановке постгреса.
4 arsik
 
гуру
29.01.23
22:48
(0) (3) Ты каким то длинным путем пошел. Зачем после установки инициализировать стандартный юнит, потом симлинками это изменять. Инициализируй сразу в новой папке.

postgresql-new-systemd-unit --unit postgresql@odines --datadir /usr/data/pgdata
postgresql-setup --initdb --unit=postgresql@odines --port=5432
5 GANR
 
30.01.23
20:49
(4) Спасибо. При очередной установке попробую