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