Andres

Las funciones que realizan operaciones DML y que se ejecuten en los nodos hot_standby simplemente daran error ya que las bases de datpos de esos nodos estan en modo solo lectura

Gracias

Mauricio Rivas
Consultor
Proyecto Optimización, Migración y Soporte Interno de Base de Datos Oracle a Tecnologías Libres (OMS BD ORCL - TIL)
Gerencia de Programa Soluciones de TI
Gerencia General de Proyectos Mayores
Gerencia General de Tecnología y Operaciones
Tel:
Cel: +58-412-392-7447
Email: mriva...@cantv.com.ve

El 23/07/2012 09:37 a.m., Lazáro Rubén García Martínez escribió:
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.a...@gmail.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@postgresql.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
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a