这个 postgresql.service 文件有什么用处?

这个 postgresql.service 文件有什么用处?

这个“服务”似乎运行 /bin/true,但为什么呢?还有另一个[电子邮件保护]文件也一样,但是为什么这个文件会存在呢?是的,这是整个文件。

# 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

答案1

这只是一个虚拟服务,一个通过以下方式启动实际 PostgreSQL 的触发器:服务依赖项。这/bin/true只是让它看起来像是已经成功启动,但实际上并没有做任何事情。

答案2

顶部的注释很清晰,解释了用法。每个集群都有自己的单元文件 postgresql@version-cluster,它们都是“PartOf=postgresql.service”。因此,此单元允许启动所有集群,systemctl start postgresql并且其他服务依赖于所有集群处于特定状态(例如,已启动)。

相关内容