sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo actualizar pg_restore en docker postgres image 10.3 a 10.5

Si lo entiendo correctamente, desea restaurar un volcado de formato personalizado tomado con 10.5 en una base de datos 10.3.

Eso no será posible si el formato de archivo ha cambiado entre 10.3 y 10.5.

Como solución alternativa, podría usar un volcado de "formato simple" (opción --format=plain ) que no tiene una “versión de archivo”. Pero cualquier problema durante la restauración es tuyo, ya que no se admite la degradación de PostgreSQL.

Siempre debe usar la misma versión para desarrollo y producción, y siempre debe usar la versión secundaria más reciente (actualmente 10.13). Todo lo demás está buscando problemas.

  1. copia de seguridad como texto sin formato como este:¡advertencia! el archivo será enorme. Alrededor de 17 veces más que el formato personalizado normal. Mis 90 mb típicos ahora son 1,75 Gb
  2. copie el archivo de copia de seguridad en el contenedor de postgres docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backups
  3. vaya al bash de su contenedor de postgres docker exec -it <name_of_postgres_container> bash
  4. dentro del contenedor bash de postgres:psql -U username -d dbname < backups/2020-07-08-1.dump

Eso funcionará