Tengo que actualizar de PostgreSQL 9.2 a 9.6. Los siguientes son los desafíos que enfrento:
Dado que tenemos la configuración de replicación de transmisión, y PostgreSQL no admite la actualización de versión inferior a superior cuando está en modo de replicación de transmisión, cuando actualizo el maestro tengo que reconstruir los esclavos y eso lleva 3 horas. No tengo tiempo de sobra. En cualquier momento necesitamos un esclavo y un maestro disponibles. ¿Hay alguna otra forma de actualizar sin tener que reconstruir los esclavos, utilizando la replicación de transmisión?
Para construir una replicación lógica, pensamos en usar slony, pero slony tiene algunas limitaciones, ya que no se replica automáticamente:
- Cambios en objetos grandes (BLOBS)
- Cambios realizados por los comandos DDL
- Cambios en usuarios y roles
... y nuestra aplicación tiene comandos continuos de creación. Entonces no podemos usar slony.
Sugiera algo para evitar la reconstrucción de esclavos y actualizar con un tiempo de inactividad mínimo y un maestro y un esclavo listos.