Ayuda con NOTIFY en C

Started by Yadisnel Galvez Velazquezover 16 years ago6 messagesgeneral
Jump to latest

Hola a todos:
He implementado un proceso (LISTEN) en C que está subscrito a un evento NOTIFY, este funciona bien pero necesito pasar un parámetro extra (en el campo notify->extra). Según la documentación oficial esto es posible, mi pregunta es cómo hacerlo. Se que puedo forzar un evento NOTIFY haciendo:
NOTIFY nombre_del_evento;
en este caso como paso un argumento extra??
Saludos...Yadisnel.

#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Yadisnel Galvez Velazquez (#1)
Re: Ayuda con NOTIFY en C

Yadisnel Galvez Velazquez escribi�:

Hola a todos:
He implementado un proceso (LISTEN) en C que est� subscrito a un evento NOTIFY, este funciona bien pero necesito pasar un par�metro extra (en el campo notify->extra). Seg�n la documentaci�n oficial esto es posible, mi pregunta es c�mo hacerlo. Se que puedo forzar un evento NOTIFY haciendo:
NOTIFY nombre_del_evento;
en este caso como paso un argumento extra??

No est� implementado el paso de par�metros extra, hasta donde recuerdo.

--
Alvaro Herrera Vendo parcela en Valdivia:
http://valdivia.vivastreet.cl/loteos-lotes+valdivia/parcela-en-cabo-blanco--valdivia/19288372
"Ciencias pol�ticas es la ciencia de entender por qu�
los pol�ticos act�an como lo hacen" (netfunny.com)

In reply to: Alvaro Herrera (#2)
Re: [pgsql-es-ayuda] Ayuda con NOTIFY en C

Gracias Alvaro, mi pregunta era por si se podía implementar por uno mismo. El problema es que necesito comunicar una librería en C de un trigger con una aplicación que realiza réplica para que informe sobre cambios que se realizan en las tablas, esto lo he logrado mediante una implementación de la arquitectura CORBA para C pero no estoy conforme con el rendimiento. Quisiera utilizar mecanismos nativos de PostgreSQL para comunicar la librería .so del trigger con mi aplicación también escrita en C. Conoces algún mecanismo (sockets o algo así) de PostgreSQL para hacer esto??

----- Mensaje original -----
De: "Alvaro Herrera" <alvherre@alvh.no-ip.org>
Para: "Yadisnel Galvez Velazquez" <ygalvez@uci.cu>
CC: pgsql-es-ayuda@postgresql.org
Enviados: Domingo, 8 de Noviembre 2009 21:36:04 GMT -04:00 Georgetown
Asunto: Re: [pgsql-es-ayuda] Ayuda con NOTIFY en C

Yadisnel Galvez Velazquez escribió:

Hola a todos:
He implementado un proceso (LISTEN) en C que está subscrito a un evento NOTIFY, este funciona bien pero necesito pasar un parámetro extra (en el campo notify->extra). Según la documentación oficial esto es posible, mi pregunta es cómo hacerlo. Se que puedo forzar un evento NOTIFY haciendo:
NOTIFY nombre_del_evento;
en este caso como paso un argumento extra??

No está implementado el paso de parámetros extra, hasta donde recuerdo.

--
Alvaro Herrera Vendo parcela en Valdivia:
http://valdivia.vivastreet.cl/loteos-lotes+valdivia/parcela-en-cabo-blanco--valdivia/19288372
"Ciencias políticas es la ciencia de entender por qué
los políticos actúan como lo hacen" (netfunny.com)

#4Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Yadisnel Galvez Velazquez (#3)
Re: [pgsql-es-ayuda] Ayuda con NOTIFY en C

Yadisnel Galvez Velazquez wrote:

Gracias Alvaro, mi pregunta era por si se pod�a implementar por uno mismo. El problema es que necesito comunicar una librer�a en C de un trigger con una aplicaci�n que realiza r�plica para que informe sobre cambios que se realizan en las tablas, esto lo he logrado mediante una implementaci�n de la arquitectura CORBA para C pero no estoy conforme con el rendimiento. Quisiera utilizar mecanismos nativos de PostgreSQL para comunicar la librer�a .so del trigger con mi aplicaci�n tambi�n escrita en C. Conoces alg�n mecanismo (sockets o algo as�) de PostgreSQL para hacer esto??

Ya hay varios sistemas de replicaci�n implementados, �los estudiaste
antes de intentar implementar uno t� mismo?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In reply to: Yadisnel Galvez Velazquez (#3)
Re: Ayuda con NOTIFY en C

Gracias Alvaro, mi pregunta era por si se podía implementar por uno mismo. El problema es que necesito comunicar una librería en C de un trigger con una aplicación que realiza réplica para que informe sobre cambios que se realizan en las tablas, esto lo he logrado mediante una implementación de la arquitectura CORBA para C pero no estoy conforme con el rendimiento. Quisiera utilizar mecanismos nativos de PostgreSQL para comunicar la librería .so del trigger con mi aplicación también escrita en C. Conoces algún mecanismo (sockets o algo así) de PostgreSQL para hacer esto??

----- Mensaje original -----
De: "Alvaro Herrera" <alvherre@alvh.no-ip.org>
Para: "Yadisnel Galvez Velazquez" <ygalvez@uci.cu>
CC: pgsql-es-ayuda@postgresql.org
Enviados: Domingo, 8 de Noviembre 2009 21:36:04 GMT -04:00 Georgetown
Asunto: Re: [pgsql-es-ayuda] Ayuda con NOTIFY en C

Yadisnel Galvez Velazquez escribió:

Hola a todos:
He implementado un proceso (LISTEN) en C que está subscrito a un evento NOTIFY, este funciona bien pero necesito pasar un parámetro extra (en el campo notify->extra). Según la documentación oficial esto es posible, mi pregunta es cómo hacerlo. Se que puedo forzar un evento NOTIFY haciendo:
NOTIFY nombre_del_evento;
en este caso como paso un argumento extra??

No está implementado el paso de parámetros extra, hasta donde recuerdo.

--
Alvaro Herrera Vendo parcela en Valdivia:
http://valdivia.vivastreet.cl/loteos-lotes+valdivia/parcela-en-cabo-blanco--valdivia/19288372
"Ciencias políticas es la ciencia de entender por qué
los políticos actúan como lo hacen" (netfunny.com)

In reply to: Alvaro Herrera (#4)
Re: Ayuda con NOTIFY en C

Si lo hice, soy profesor en la Universidad de las Ciencias Informáticas - CUBA, soy Ing. en Ciencias Informáticas, estudié PgCluster, Slony I, Bucardo, PgPool II. Para la solución que necesito el que más se acerca es Bucardo pero no cumple con todos los requisitos que necesito. He decidido junto a un equipo investigativo desarrollar una Herramienta de Réplica Asíncrona Multimaster dado contextos específicos de algunos sistemas informáticos que estamos desarrollando.
Saludos...Yadisnel.
----- Mensaje original -----
De: "Alvaro Herrera" <alvherre@commandprompt.com>
Para: "Yadisnel Galvez Velazquez" <ygalvez@uci.cu>
CC: pgsql-general@postgresql.org
Enviados: Domingo, 8 de Noviembre 2009 21:56:54 GMT -04:00 Georgetown
Asunto: Re: [pgsql-es-ayuda] Ayuda con NOTIFY en C

Yadisnel Galvez Velazquez wrote:

Gracias Alvaro, mi pregunta era por si se podía implementar por uno mismo. El problema es que necesito comunicar una librería en C de un trigger con una aplicación que realiza réplica para que informe sobre cambios que se realizan en las tablas, esto lo he logrado mediante una implementación de la arquitectura CORBA para C pero no estoy conforme con el rendimiento. Quisiera utilizar mecanismos nativos de PostgreSQL para comunicar la librería .so del trigger con mi aplicación también escrita en C. Conoces algún mecanismo (sockets o algo así) de PostgreSQL para hacer esto??

Ya hay varios sistemas de replicación implementados, ¿los estudiaste
antes de intentar implementar uno tú mismo?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support