Instale uma versão específica do pacote (postgresql) junto com a versão mais recente no gentoo

1

Eu atualizei nosso servidor gentoo, me perdi nas mensagens e, para encurtar a história, acabei removendo meu postgresql 9.1 ANTES de rodar um pg_upgrade para 9.2 .. Então eu descobri que o pg_upgrade requer que o binário da versão anterior ainda esteja lá!

Como posso reinstalar o postgresql 9.1 sem remover o 9.2?

Eu sei que posso especificar uma versão com /etc/portage/package.mask

por exemplo,

>dev-db/postgresql-server-9.1.9
<dev-db/postgresql-server-9.1.9

mas estou com medo de fazê-lo substituir o postgresql instalado e acabar com mais problemas do que antes.

    
por Stefano 12.04.2013 / 14:18

2 respostas

1

dev-db/postgresql-server é SLOT - na versão principal e secundária, portanto, reinstalar 9.1 não forçar a remoção de 9.2 (em teoria, as dependências de duas versões de um pacote comSLOT de poder podem causar conflitos e podem impedi-lo de fazer isso):

$ eix -c postgresql-base --or postgresql-server
[I] dev-db/postgresql-base (9.1.8(9.1)@04/13/2013 9.2.3-r1(9.2)@04/13/2013): PostgreSQL libraries and clients
[I] dev-db/postgresql-server (9.1.8-r1(9.1)@04/13/2013 9.2.3-r1(9.2)@04/13/2013): PostgreSQL server
Found 2 matches.

Como você pode ver, as duas versões são instaladas ao mesmo tempo.

Em uma nota lateral, para ajudar com pacotes sem lixamento, você pode usar quickpkg para empacotar a versão atualmente instalada. O fluxo de trabalho aproximado seria:

  • quickpkg v2
  • desinstalar v2
  • instalar v1
  • do_your_stuff ()
  • atualize de v1 para v2 usando o pacote binário gerado anteriormente (consulte portage s -k/-K switches)

quickpkg tem uma opção para incluir os arquivos de configuração do pacote ( --include-config ), você provavelmente também desejará usá-lo (consulte man quickpkg ).

Antes de executar um grande monte de upgrades (tm) você pode sempre quickpkg dos pacotes mais importantes que você acha que podem causar dores de cabeça mais tarde por alguma razão (como MySQL, PostgreSQL, Apache, .. .), então você pode voltar rapidamente para a versão anterior, se necessário.

Isso não significa que você não precisa ter backups de seus dados (e arquivos de configuração, mesmo quando incluídos em seu pacote binário)!

    
por 13.04.2013 / 09:58
1

Apenas como referência, com base na resposta de Adrian, eu sem medo fiz um

emerge /dev-db/postgresql-server:9.1

observe que usei :9.1 e não :9.1.9 (versão mais recente), o que resultou em um

there are no ebuilds to satisfy "dev-db/postgresql-server:9.1.9"

e me confundi no começo.

Agora eu os tenho felizes em viver juntos:

$ equery l postgresql-server
* Searching for postgresql-server ...
[IP-] [  ] dev-db/postgresql-server-9.1.9:9.1
[IP-] [  ] dev-db/postgresql-server-9.2.4:9.2
    
por 13.04.2013 / 16:48