Re: Ayuda con PgPool2 y funciones en pl/Pgsql

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Lazáro Rubén García Martínez <lgarciam(at)vnz(dot)uci(dot)cu>
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 17:41:26
Message-ID: CAJKUy5iZzF+hFLUNkxFD0p=R09CJ3hzp91=Tb6XsTdNJJpScHQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lazáro Rubén García Martínez 2012-07-21 18:31:23 RE: Ayuda con PgPool2 y funciones en pl/Pgsql
Previous Message José Fermín Francisco Ferreras 2012-07-21 16:52:26 Tabla cliente y dividirla por sexo