Sua primeira instalação foi mantida incerta, isso vai neutralizar:
sudo dpkg --purge postgresql-9.1
Agora você pode reinstalar o pacote:
sudo apt-get -f install
sudo apt-get install postgresql-9.1
Eu simplesmente não entendo o que está acontecendo.
sudo apt-get remove postgresql
resulta em:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'postgresql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-9.1 (9.1.10-0ubuntu13.04) ...
* Starting PostgreSQL 9.1 database server * The PostgreSQL server failed to start. Please check the log output:
2013-11-05 12:40:58 PST FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
[fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-9.1 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)
Quero dizer, por que está tentando iniciar o servidor. Certo, eu sou um pouco noob no unix e um noob postgres enorme, então tenha paciência comigo, mas iniciar aleatoriamente o servidor enquanto eu estou tentando desinstalá-lo parece tão aleatório. Apenas não entendi.
Como posso desinstalar completa e completamente o postgresql?
Sua primeira instalação foi mantida incerta, isso vai neutralizar:
sudo dpkg --purge postgresql-9.1
Agora você pode reinstalar o pacote:
sudo apt-get -f install
sudo apt-get install postgresql-9.1
Consegui limpar o postgres (limpeza do apt-get) limpando 2 outros pacotes primeiro: o pacote contrib e o pacote postgresql (parece ser um pequeno pacote 'virtual'). Pelo menos, é isso que eu acho ...
Então eu poderia limpar o pacote postgresql-9.1 (cerca de 11 MB)
Eu tive um problema semelhante e resolvi-o usando o aptitude para remover completamente a instalação anterior (o apt-get não removeu todas as dependências).
Em seguida, estou provando uma descrição de como fazer isso em um terminal do shell (a GUI está fora do escopo nesta resposta).
Inicie o gerenciador de pacotes interativo:
sudo aptitude
Será aberta uma interface de usuário amigável somente com texto. Você pode usar o teclado para cima e para baixo para navegar e Enter para abrir itens. O mouse também pode ser usado para navegar.
Você verá um menu superior (Ações / Desfazer / ...) de onde você pode comandar o aptitude. Sem um mouse, pressione CTRL + T para abrir o menu. Os menus também mostram os atalhos de teclado que você pode usar.
Se você souber o que remover, vá para Pacotes instalados e navegue até o pacote. Por exemplo, para remover o PostgreSQL, vá para Installed Packages \ main e você verá os pacotes postgresql *. Os pacotes instalados têm a letra i em seu lado esquerdo. Use, por exemplo, a tecla Para baixo para destacar o primeiro pacote e pressione a tecla - para marcá-lo para remoção. Você pode desfazer a ação através do menu Desfazer ou pressionando a tecla +.
Observe que ao pressionar a tecla + em um pacote desinstalado, ele será marcado para instalação.
Quando todos os pacotes que você deseja remover estiverem marcados para remoção, vá para o menu Ações e escolha o comando Instalar / remover pacotes. Ele mostrará uma prévia do que será feito. Pacotes quebrados e pacotes não utilizados também serão automaticamente selecionados. Use as teclas + e - para adicionar / manter ou remover os pacotes. Observe a mudança de cor para refletir a ação (magenta = remove package, green = install package).
Quando estiver satisfeito com a seleção, vá novamente ao menu Ações e escolha o comando Instalar / remover pacotes para executar a ação.
Após a conclusão, pressione Enter para retornar à interface do usuário. Você pode procurar pacotes (veja o menu Search, onde os atalhos de teclado também são exibidos).
Pressione o botão? chave para uma ajuda on-line.
Pressione q para sair.
Provavelmente sua instalação ou desinstalação foi interrompida recentemente, deixando o sistema de pacotes em um estado incerto.
sudo apt-get clean && sudo apt-get autoremove
sudo apt-get -f install
sudo dpkg --configure -a
isso deve corrigir isso
Eu tive o mesmo problema e acabou sendo um problema de permissões com /var/run/postgresql
. Ela era de propriedade de root
, mas precisava ser de propriedade de postgres
sudo chown -R postgres:postgres /var/run/postgresql
resolveu, seguido por sudo service postgresql restart
Graças ao link
Tags apt postgresql