Atualização do servidor (yum update) removeu a instalação local do psql

2

Instalei localmente um servidor PostgreSQL 9.6.2 no servidor aws Centos há algum tempo usando estes comandos:

rpm -i https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-ami201503-96-9.6-2.noarch.rpm 
yum install postgresql96-server -y

Alguns dias atrás, atualizei o servidor usando a atualização do yum. Depois que esse processo foi concluído, percebi que meu aplicativo parou de funcionar. Descobri que o processo de atualização foi manipulado para de alguma forma entrar em conflito com a instalação existente do psql e para excluir o servidor psql atual. (Felizmente, era apenas um servidor de desenvolvimento ...)

Minha pergunta é: por que isso aconteceu? É um bug ou apenas eu estupidamente instalando-o manualmente e não excluindo-o do comando yum update? Alguém pode lançar alguma luz sobre esse assunto?

Estes são os detalhes que colecionei:

uname -a output:

Linux 4.9.85-37.55.amzn1.x86_64

yum log

Mar 11 13:49:17 Updated: postgresql96-libs-9.6.6-1.79.amzn1.x86_64 
Mar 11 13:49:20 Updated: postgresql96-9.6.6-1.79.amzn1.x86_64 
Mar 11 13:49:26 Updated: postgresql96-server-9.6.6-1.79.amzn1.x86_64

error in yum history info 97 warning: %postun(postgresql96-server-9.6.5-1PGDG.rhel6.x86_64) scriptlet failed, exit status 1


Updated     postgresql96-9.6.5-1PGDG.rhel6.x86_64 @pgdg96
Update                   9.6.6-1.79.amzn1.x86_64 @amzn-updates
Updated     postgresql96-libs-9.6.5-1PGDG.rhel6.x86_64 @pgdg96
Update                        9.6.6-1.79.amzn1.x86_64  @amzn-updates
Updated     postgresql96-server-9.6.5-1PGDG.rhel6.x86_64 @pgdg96
Update                          9.6.6-1.79.amzn1.x86_64  @amzn-updates

alternativas:

[user@ip alternatives]# alternatives --config psql

There is 1 program that provides 'psql'.
Selection Command

*+ 1 /usr/bin/psql96
    
por Busted 13.03.2018 / 21:18

1 resposta

3

Parece que você acabou substituindo a versão do postgres do pgdg96 repo pelo amzn-updates repo. Ambos os pacotes são chamados postgresql96 , então yum / RPM achava que um era um substituto direto para o outro.

Além disso, embora o pacote antigo também tenha usado alternatives para selecionar o binário padrão psql , suspeito que o nome do grupo seja diferente. Talvez algo como pgsql-psql , em que o novo pacote usa o grupo psql . Então, na atualização, seu sistema viu isso como um novo grupo que você precisava configurar, e não uma atualização em um grupo existente. E também parece que o pacote amzn-updates não definiu um padrão e requer que você execute explicitamente alternatives para defini-lo.

É muito provável que isso aconteça novamente, a menos que você inclua na lista negra o pacote de um dos dois repos. Basta adicionar exclude=postgresql96* ao arquivo /etc/yum.repos.d/ do repo no qual você deseja desativá-lo.

    
por 14.03.2018 / 03:00