Não é possível restaurar o backup do banco de dados no Postgresql-10.0

1

Estou usando postgresql-9.4 (porta 5432) e postgresql-10.0 (porta 5433) em minha máquina Linux (RHEL 7.4). O Postgresql-9.4 foi instalado usando o repositório yum e o Postgresql-10.0 foi instalado usando a fonte em diferentes partições.

Eu fiz um backup do db (dtbase.backup) no Postgresql-9.4 usando o pg_dump e tentando restaurar isso no Postgresql-10.0 usando o pg_restore.

Enquanto isso, estou ficando abaixo do erro:

pg_restore: [archiver] unsupported version (1.13) in file header

Eu verifiquei fóruns diferentes, mas não consegui encontrar a solução. Qualquer ajuda seria muito apreciada.

    
por erTugRul 03.05.2018 / 13:35

2 respostas

0

Eu o resolvi sem atualizar. Eu fiz backup novamente usando pg_dump de 10.0 em vez de 9.4 e o pg_restore funcionou desta vez.

    
por 07.06.2018 / 06:39
1

A sua instalação 9.4 provavelmente atualizada para 9.4.17 ou superior, introduzindo uma correção que torna os despejos incompatíveis com a versão 10 do postgresql antes de 10.3 por esta resposta de estouro de pilha e o anúncio postgres com links para.

Do anúncio:

One security vulnerability is addressed in this release:
* CVE-2018-1058: Uncontrolled search path element in pg_dump and other client applications

Esta alteração quebra a compatibilidade entre versões que anteriormente tinham fluxos de trabalho pg_dump / pg_restore compatíveis, a menos que ambas as versões tenham sido atualizadas para incluir o patch CVE.

Você pode querer considerar a atualização de sua instalação da versão 10 para ser instalada a partir do yum também. Ainda não tenho experiência com a versão 10, mas o mais provável é que o postgres tenha continuado a versão dos diretórios nos quais a instalação é usada, portanto você deve ter ambos 9.4 e 10.3 instalados do yum (e obter patches de segurança muito mais facilmente do que reconstruindo a partir da fonte!).

    
por 03.05.2018 / 14:11