PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como atualizar o pg_restore na imagem do docker postgres 10.3 para 10.5


Se entendi corretamente, você deseja restaurar um despejo de formato personalizado obtido com 10.5 em um banco de dados 10.3.

Isso não será possível se o formato do arquivo tiver mudado entre 10.3 e 10.5.

Como solução alternativa, você pode usar um dump de “formato simples” (opção --format=plain ) que não possui uma “versão de arquivo”. Mas qualquer problema durante a restauração é seu, já que o downgrade do PostgreSQL não é suportado.

Você deve sempre usar a mesma versão para desenvolvimento e produção, e deve sempre usar a versão secundária mais recente (atualmente 10.13). Todo o resto está pedindo problemas.
  1. backup como texto simples como este:aviso! o arquivo será enorme. Cerca de 17x mais do que o formato personalizado normal. Meus 90 MB típicos agora são 1,75 Gb
  2. copie o arquivo de backup para o contêiner postgres docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backups
  3. vá para o bash do seu contêiner postgres docker exec -it <name_of_postgres_container> bash
  4. dentro do bash do contêiner postgres:psql -U username -d dbname < backups/2020-07-08-1.dump

Isso vai funcionar