apt-get upgrade preso na dependência de postgresql

7

Corri sudo apt-get upgrade no meu servidor 12.04 e fiquei preso a uma dependência do PostgreSQL.

A saída do console (de sudo apt-get -f install ) está abaixo:

dpkg: dependency problems prevent configuration of postgresql-9.1:
  postgresql-client-9.1 (9.1.7-0ubuntu12.04) breaks postgresql-9.1 (<< 9.1.7-0ubuntu12.04) and is installed.
  Version of postgresql-9.1 to be configured is 9.1.6-1~precise2.
dpkg: error processing postgresql-9.1 (--configure):
  dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
 Errors were encountered while processing:
 postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)

Como resolvo esse problema?

nb. Eu tenho um banco de dados de produção em execução neste servidor, então a remoção / reinstalação do postgres é um último recurso.

Editar:

Conforme solicitado, a saída do link apt-get update :

    
por Peter Mellett 26.12.2012 / 23:42

2 respostas

9

Eu experimentei esse mesmo problema com essa atualização do postgresql.

A versão mais nova do postgres é 9.1.7, por algum motivo o 9.1.6 não está no repositório, então aqui está como eu fiz o downgrade para o 9.1.5:

sudo apt-get -V install postgresql-client-9.1=9.1.5-0ubuntu12.04 
sudo apt-get -V install postgresql-9.1=9.1.5-0ubuntu12.04

Note que eu fiz o downgrade para o cliente primeiro. Parece que há um bug na atualização mais recente, que causa um erro de dependência entre o cliente e o servidor.

edite: Se você quiser evitar que o postgresql atualize no futuro, consulte esta página: link . Certifique-se de aplicar este método ao cliente e ao servidor.

    
por AgDude 27.12.2012 / 13:54
3

Aqui está outra solução (a solução da AgDude não funcionou no meu sistema, embora eu acredite que tenho o mesmo problema. Também tenho o plpython instalado. Acredito que isso esteja complicando as coisas.)

Remova as informações do pacote postgres do / var / lib / dpkg / status (faça o backup do arquivo primeiro, é claro). Acredito que isso signifique apt não perceberá que o postgres está instalado e, portanto, não ficará preso quando não encontrar o 9.1.6 no repositório.

Esta solução permitirá que você atualize o restante do sistema como de costume e, mais uma vez, instale / remova o software. É claro que não vai mais atualizar o postgres.

Eu deixei alguns pacotes com referências a postgres. Aqui estão eles, então você sabe que não precisa tirar isso:

  1. Pacote: libpq-dev
  2. Pacote: libreoffice-core
  3. Pacote: rsyslog
por Pete 26.01.2013 / 21:29