RE: Ayuda con PgPool2 y funciones en pl/Pgsql

From: Lazáro Rubén García Martínez <lgarciam(at)vnz(dot)uci(dot)cu>
To: "Andres A(dot) Mamani" <andres(dot)abel(at)gmail(dot)com>
Cc: Jaime Casanova <jaime(at)2ndquadrant(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-23 14:07:36
Message-ID: 294D3D02D5E18D42827B2ECFEADEB6884C70EA7F4A@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Cuando configuras pgpool en modo maestro-esclavo y utilizas SR para la réplica (master_slave_mode = on, master_slave_sub_mode = 'stream')
puedes hacer dos cosas con las funciones que modifican la base de datos.

1. Si activas el balance de carga, entonces debes especificarle a pgpool que funciones modifican la base de datos, para esto debes poner el nombre de estas funciones en la propiedad black_function_list de pgpool, la cual admite expresiones regulares. Para este caso, cuando lleguen funciones a pgpool, este verifica si las funciones coinciden con las escritas en este listado. En caso de coincidir las ejecuta en el nodo maestro, en caso contrario realizaría balance de carga y pudieran ejecutarse lo mismo en el nodo maestro que en el nodo standby.

2. Si desabilitas el balance de carga, todas las funciones se ejecutarán en el master.

Nota: Para estos casos, no es necesario que comentes /* REPLICATION */ delante de las consultas.

Saludos a todos.

________________________________________
From: Andres A. Mamani [andres(dot)abel(at)gmail(dot)com]
Sent: Monday, July 23, 2012 7:54 AM
To: Lazáro Rubén García Martínez
Cc: Jaime Casanova; Miguel Angel Hernandez Moreno; pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Ayuda con PgPool2 y funciones en pl/Pgsql

Gracias Jaime y Lázaro,

En todo caso creo que mi problema es el diseño de la aplicación, veré
lo que me sugieres Jaime de usar Streaming Replication.

Sin embargo, tengo una duda, al estar los nodos esclavos en
hot_standb=on; que pasa con las funciones que se ejecutan en los nodos
esclavos tipo:
SELECT graba_datos(valor1, valor2);

¿La consulta se ejecuta? o ¿cómo es que pgpool hará que esa consulta
se ejecute en el nodo maestro? o si o si, tengo que decirle a pgpool
esta consulta es.. /* REPLICATION */

Si es asi, veo que por más que consiga replicar, el problema real lo
tengo con pgpool y el balanceo de consultas, que no hace un análisis
de la función a ajecutar para determinar su naturaleza; en ese caso
¿Qué algernativa me queda?

Saludos.

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan 2012-07-23 18:39:27 Ayudfa con log
Previous Message Mauricio Rafael Rivas Martinez 2012-07-23 13:58:01 Re: Ayuda con PgPool2 y funciones en pl/Pgsql