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

PostgreSQL systemd-сервис / 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 с помощью service postgresql start и был удивлен postgresql.service содержимое, потому что оно начинается /bin/true

uname -a вывод:

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux

Итак, мои вопросы: почему это происходит и как это исправить?

Как указано в ветке @termcap, postgresql@{version}-main.service это новое имя службы.

Так что используйте systemctl {start|enable} postgresql@9.6-main.service.

Разумно postgresql.service должен содержать дружественное предупреждение о миграции, а не /bin/true (решите сами).

Подтверждаю проблему, ОС - xenial, версия Postgres - 10 (последняя из официального репо). чертовски неприятно.

Правильный файл:

[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)

[Service]
Type=notify
User=postgres
ExecStart=/usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0

[Install]
WantedBy=multi-user.target