Hola Hellmuth.

    Te contesto más abajo :)

On 19/07/18 16:51, Hellmuth Vargas wrote:
Hola Lista

Tengo el siguiente esquema: una máster y 3 replicas  Streaming Replication (distribuidas geográficamente y con diferentes prestaciones de velocidad de disco duro) en PostgreSQL 9.5. Deseo actualizarlas a PostgreSQL 10. Cuando realice el procedimiento de la 9.3 a la 9.5 seguí las indicaciones del numeral 10  de la documentación oficial de pg_upgrade que indica como debe procederse con la actualización  de replicas sin necesidad de recrearlas desde 0 y todo estuvo muy bien pero tomo  mas de 2 horas actualizar todas y por lo tanto la máster no pudo operar durante este periodo.

    ¿Por qué el master no puede operar durante este período? Salvo que sea una limitación a nivel de negocio, no hay razón técnica por la que el master, una vez upgradeado, esté online mientras se regeneren las réplicas.


Quería preguntarles si es posible (para no tener que mantener la máster tanto tiempo apagada) realizar los siguientes pasos:

- Actualizar la master con pg_upgrade
- Actualizar una replica (la mas rápida) con el procedimiento descrito en el punto 10 de la documentación oficial del pg_upgrade
-Prender master y replica actualizadas
- Apagar la replica
- Actualizar la replicas 9.5 faltantes a partir de la replica 10 empleado el mismo procedimiento descrito en el punto 10 de la documentación oficial del pg_upgrade. (como si la relpica 10 fuera la master)

Porque no recrear las replicas desde cero, porque la base ya pesa 1.3 TB y para algunas replicas la recreación puede tardar 8 o 9 horas (la ultima vez que hubo necesidad de hacerlo por un daño de disco)

    ¿Usas archivado continuo? Si no es el caso, creo que deberías. Y en este caso, nada te impide hacer un backup base y tirar de los WALs archivados (que pueden estar en local) para generación más rápida de las réplicas.

    Dicho lo cual: si por continuidad de negocio es más grave estar online sin réplicas que parados hasta que al menos haya una réplica, entonces igual es un problema el tiempo de regenerar la réplica. Pero si no es el caso, yo usaría archivado continuo y regeneraría las réplicas.

    También, estando en 9.5, tienes la opción de usar replicación lógica, en cuyo caso puedes actualizar versiones en master y réplicas independientemente.... (pero no estando en v10 en todos sitios, esto te va a suponer más trabajo, o vas a tener que usar pglogical).


    Saludos,

    Álvaro


--

Alvaro Hernandez


-----------
OnGres





Que opina?? les agradezco sus comentarios.

El link de la documentación de pg_upgrade para PostgreSQL 10.

https://www.postgresql.org/docs/10/static/pgupgrade.html


--
Cordialmente,

Ing. Hellmuth I. Vargas S.



Reply via email to