Seu problema
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-common (--configure):
subprocess installed post-installation script returned error exit status 1
Minha solução
o caminho curto
sudo rm /etc/init.d/postgresql
sudo rm /etc/init/postgresql.conf
sudo apt-get remove postgresql
ou o Longo caminho
-
Abra o arquivo
/var/lib/dpkg/info/postgresql-common.postinst
sudo nano /var/lib/dpkg/info/postgresql-common.postinst
-
Pesquise a linha com o comando start:
if [ -x "/etc/init.d/postgresql" ] || [ -e "/etc/init/postgresql.conf" ]; then invoke-rc.d postgresql start || exit $? fi
-
comente o bloco
# if [ -x "/etc/init.d/postgresql" ] || [ -e "/etc/init/postgresql.conf" ]; then # invoke-rc.d postgresql start || exit $? # fi
-
Remova o pacote novamente.
sudo apt-get remove postgresql
Explicação
Durante a remoção do postgresql
, o script postgresql-common.postinst
é chamado. O script tenta iniciar o serviço postgresql
e falhará invoke-rc.d postgresql start
(não pergunte por que).
Isso deve ser evitado. Quer alterando as condições pelas quais o código é executado. Ou pela remoção do próprio código.