После обновления с 14.04 по 16.04.1 Сервер Postgresql не запускается

Intel-linux-graphics-installer v 1.0.4 не поддерживает Ubuntu 14.04 LTS. При попытке запустить установщик вы получите сообщение об ошибке, что этот дистрибутив не поддерживается. Я бы предположил, что vs 1.0.5 будет включать поддержку 14.04 LST, поскольку 14.04 упоминается в документации.

1
задан 9 August 2016 в 14:13

3 ответа

Systemd должен использовать скрипт из /etc/init.d. Вместо этого systemd использует какой-то файл шаблона. Чтобы исправить это, выполните следующие действия:

Удалите неверный служебный скрипт: # rm /lib/systemd/system/postgresql.service Перезапустите сценарии демона: # systemctl daemon-reload Включите службу postgresql: # systemctl enable postgresql

После этого вы будете способный запускать postgres с любыми предпочтительными вариантами: sudo systemctl start postgresql, sudo service postgresql start или sudo /etc/init.d/postgresql start. Чтобы проверить, что postgresql действительно запущен, проверьте статус службы: sudo systemctl status postgresql. Это выглядит следующим образом:

% sudo systemctl status postgresql                                                                                                                                                                          
● postgresql.service - LSB: PostgreSQL RDBMS server
   Loaded: loaded (/etc/init.d/postgresql; bad; vendor preset: enabled)
   Active: active (running) since Пт 2016-08-12 10:13:43 MSK; 1h 37min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/postgresql.service
           ├─4086 /usr/lib/postgresql/9.5/bin/postgres -D     /var/lib/postgresql/9.5/main -c  config_file=/etc/postgresql/9.5/main/postgresql.conf
           ├─4099 postgres: checkpointer process                                                                                              
           ├─4100 postgres: writer process                                                                                                    
           ├─4101 postgres: wal writer process                                                                                                
           ├─4102 postgres: autovacuum launcher process                                                                                       
           └─4103 postgres: stats collector process                                                                                           

авг 12 10:13:40 ubuntu-precise systemd[1]: Starting LSB: PostgreSQL RDBMS server...
авг 12 10:13:40 ubuntu-precise postgresql[4009]:  * Starting PostgreSQL 9.5 database server
авг 12 10:13:43 ubuntu-precise postgresql[4009]:    ...done.
авг 12 10:13:43 ubuntu-precise systemd[1]: Started LSB: PostgreSQL RDBMS server.
14
ответ дан 23 May 2018 в 07:18
  • 1
    Это должно быть неправильно. Systemd работает . Я начинаю свой кластер 9.3 просто отлично; он просто не начнет кластер 9.5. Это не служебный скрипт недействительный , это target скрипт, который они вызвали service , чтобы сделать его перезагруженным. Уродливые хаки, похоже, тоже не подходят для этого, но это действительно должно привести к тому, что systemctl _action_ postgresql@_version_ будет запущен – Auspex 13 March 2017 в 16:05
  • 2
    Я не знаю, является ли это уродливым взломом (возможно, это так), но у меня была такая же проблема с postfix , и этот ответ, похоже, решает мою проблему. – decibyte 8 August 2017 в 16:41
  • 3
    В thesystemctl enable postgresql я получил следующую ошибку: postgresql.service не является родной службой, перенаправляется на systemd-sysv-install. Исполнение / lib / systemd / systemd-sysv-install enable postgresql insserv: fopen (.depend.stop): Разрешение denied insserv: fopen (.depend.stop): разрешение отклонено. По-видимому, это не работает с моей настройкой. – Kemin Zhou 5 January 2018 в 01:23

У меня была такая же проблема после очистки postges9 и установлена ​​10 на моем ubuntu16. Первоначально я редактировал файл /lib/systemd/system/postgresql.service со следующим содержимым:

[Unit]
Description=PostgreSQL RDBMS

[Service]
Type=notify
User=postgres
ExecStart=/usr/lib/postgresql/10/bin/postgres -D /analysis2/postgresql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0

[Install]
WantedBy=multi-user.target

И я могу использовать systemctl restart / stop / start для управления службой postgresql. Однако по какой-то причине вышеупомянутый файл был перезаписан (возможно, после обновления системы), и я не смог запустить команду systemctl, чтобы запустить и остановить сервер postgresql. После некоторого чтения я понял, что вы не должны редактировать этот файл. Вместо этого вы должны использовать systemctl edit foo для перезаписи значений по умолчанию. После выполнения решения, предложенного следующей ссылкой, моя система работает правильно с postgresql.

Как переопределить или настроить службы systemd?

0
ответ дан 23 May 2018 в 07:18

Не самое приятное решение, но это решает проблему без необходимости погружаться во что-либо. Добавьте это в cron:

@reboot sleep 5; systemctl start postgresql
-1
ответ дан 23 May 2018 в 07:18

Другие вопросы по тегам:

Похожие вопросы: