Aquí hay un consejo importante sobre el intercambio de volumen en la ventana acoplable:
Varios contenedores también pueden compartir uno o más volúmenes de datos. Sin embargo, varios contenedores que escriben en un solo volumen compartido pueden dañar los datos. Asegúrese de que sus aplicaciones estén diseñadas para escribir en almacenes de datos compartidos.
En este contexto, ¿Postgres está diseñado para escribir en almacenes de datos compartidos?
En otras palabras, ¿es seguro ejecutar múltiples contenedores de Postgres (posiblemente con diferentes versiones menores) trabajando con los mismos archivos de base de datos ubicados en el volumen de datos?
No puede ejecutar varias instalaciones de PostgreSQL en los mismos archivos de datos compartidos, esta es una receta segura para la corrupción de datos.
Si necesita actualizar PostgreSQL sin tiempo de inactividad, deberá usar una solución de replicación que funcione entre diferentes versiones principales de PostgreSQL para que pueda crear primero una copia de la base de datos con la nueva versión y luego cambiar rápidamente de manera controlada. . Esto aún provoca una pequeña interrupción que debe ser manejada por la aplicación.
Las soluciones de replicación que se pueden utilizar son herramientas de replicación externas como Slony-I o replicación lógica. La replicación lógica es bastante nueva, se enviará con PostgreSQL v10 (que no lo ayudará con un problema de actualización actual), pero puede usarla con pglogical desde PostgreSQL 9.4 en adelante.