Кажется, что эти «службы» работают с / 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
и другие службы должны зависеть от того, что все кластеры находятся в определенном состоянии (например, запущены).