Uso tableplus para mi administrador general.
Actualmente se utiliza la imagen de docker postgres en 10.3 para producción y desarrollo de host local.
Debido a que tableplus actualizó sus controladores postgres 10 a 10.5, ya no puedo usar pg_restore para restaurar los archivos de copia de seguridad que se vuelcan usando 10.5 --format=custom
Vea la imagen para ver cómo hago una copia de seguridad usando tableplus. Y cómo usa el controlador 10.5
El mensaje de error que recibo es pg_restore: [archiver] unsupported version (1.14) in file header
Intenté en localhost simplemente cambiar la etiqueta de postgres en mi dockerfile de 10.3 a 10.5 y no funcionó
archivo acoplable original
FROM postgres:10.3 COPY ./maintenance /usr/local/bin/maintenance RUN chmod +x /usr/local/bin/maintenance/* RUN mv /usr/local/bin/maintenance/* /usr/local/bin \ && rmdir /usr/local/bin/maintenancepara
FROM postgres:10.5 COPY ./maintenance /usr/local/bin/maintenance RUN chmod +x /usr/local/bin/maintenance/* RUN mv /usr/local/bin/maintenance/* /usr/local/bin \ && rmdir /usr/local/bin/maintenanceMi sistema host para el desarrollo es macOS.
Tengo muchas bases de datos y esquemas existentes en mi ventana acoplable de desarrollo postgres. Así que actualmente estoy perplejo en cuanto a cómo actualizar de forma segura sin destruir los datos antiguos.
¿Puede aconsejar?
También creo que a largo plazo es descubrir cómo tener archivos de datos fuera de la ventana acoplable (es decir, dentro de mi sistema host) para que cada vez que quiera actualizar mi imagen de la ventana acoplable para postgres pueda hacerlo de manera segura y sin temor.
También me gusta preguntar cómo cambiar a esa configuración.
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, puede 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 suyo, 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 es buscar problemas.

docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backupsdocker exec -it <name_of_postgres_container> bashpsql -U username -d dbname < backups/2020-07-08-1.dumpQue funcionará