Назад | Перейти на главную страницу

В чем смысл этого файла postgresql.service?

Кажется, что эти «службы» работают с / bin / true, но почему? Есть еще один файл postgresql @ .service, но почему он вообще существует? Да, это весь файл.

# systemd service for managing all PostgreSQL clusters on the system. This
# service is actually a systemd target, but we are using a service since
# targets cannot be reloaded.

[Unit]
Description=PostgreSQL RDBMS

[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on

[Install]
WantedBy=multi-user.target

Это просто фиктивный сервис, триггер, запускающий фактический PostgreSQL через зависимости сервисов. В /bin/true просто создает впечатление, что все началось успешно, но на самом деле ничего не делает.

Комментарии вверху ясны и объясняют использование. Каждый кластер имеет свой собственный файл модуля postgresql @ version-cluster, и все они являются «PartOf = postgresql.service». Таким образом, этот блок позволяет запускать все кластеры с systemctl start postgresql и другие службы должны зависеть от того, что все кластеры находятся в определенном состоянии (например, запущены).