From: | Lazáro Rubén García Martínez <lgarciam(at)vnz(dot)uci(dot)cu> |
---|---|
To: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
Cc: | "Andres A(dot) Mamani" <andres(dot)abel(at)gmail(dot)com>, Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Ayuda con PgPool2 y funciones en pl/Pgsql |
Date: | 2012-07-21 18:31:23 |
Message-ID: | 294D3D02D5E18D42827B2ECFEADEB6884C70EA7F35@mx-interno.vnz.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Exatamente Jaime, lo que le quise decir fue que configurara pgpool en master-slave usando streaming replication y que configurara black_function_list para que las funciones que modificaran la db fueran al master y no al standby. Ya la parte de actualizar la replica es cosa de streaming replication y entonces quedaría pgpool para balance de carga y failover.
Aunque es importante ir revisando que retardo hay en la réplica, no vaya a ser que ciertas consultas se ejecuten en el standby y devulevan resultados erróneos.
Para esto debe configurar en el el fichero pgpool.conf estos parámetros:
delay_threshold
sr_check_user
sr_check_password
log_standby_delay
Saludos a todos.
________________________________________
From: jcasanov(at)systemguards(dot)com(dot)ec [jcasanov(at)systemguards(dot)com(dot)ec] On Behalf Of Jaime Casanova [jaime(at)2ndquadrant(dot)com]
Sent: Saturday, July 21, 2012 1:11 PM
To: Lazáro Rubén García Martínez
Cc: Andres A. Mamani; Miguel Angel Hernandez Moreno; pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Ayuda con PgPool2 y funciones en pl/Pgsql
2012/7/19 Lazáro Rubén García Martínez <lgarciam(at)vnz(dot)uci(dot)cu>:
> Si configuras pgpool en modo maestro-esclavo, entonces cuando realizas un select de una función, se verificará la lista
> black_function_list y en caso de confirmar que sea una función, pgpool la enviará al servidor maestro y no al standby.
>
lo que causara que la replica este inconsistente porque en este caso
esas funciones escriben en la base. eso funciona si solo estoy
haciendo balanceo, pero el tambien quiere replicar (es decir, que vaya
a ambos nodos)
la solucion para el esta en setear replicate_select en la
configuracion de pgpool pero eso hara que todos los selects se
replican a ambos lados (es decir, tambien select de solo consulta
eliminando el balanceo) o marcar en la aplicacion con /* REPLICATION
*/ todos los selects que deban ser replicados.
Nota para Andres: pones el /* REPLICATION */ antes del SELECT que
ejecuta la funcion, algo asi:
/* REPLICATION */ SELECT graba_datos(valor1, valor2);
aun asi hay forma de dañar eso, por ejemplo si te olvidas de poner el
/* REPLICATION */ o si en la funcion ejecutas cosas como now() (al
menos si las fechas no coinciden en el maestro y el esclavo), random()
y cosas asi.
mejor replica por abajo usando SR y solo balancea consultas con pgpool
http://www.pgpool.net/docs/latest/doc/pgpool-en.html#master_slave_mode
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com
Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com
From | Date | Subject | |
---|---|---|---|
Next Message | Armando Venegas Pérez | 2012-07-22 16:16:18 | RE: Tabla cliente y dividirla por sexo |
Previous Message | Jaime Casanova | 2012-07-21 17:41:26 | Re: Ayuda con PgPool2 y funciones en pl/Pgsql |