pg_listen

Nombre

pg_listen -- fija o cambia una rellamada para los mensajes NOTIFY asíncronos

Synopsis

pg_listen dbHandle notifyName comandoRellamada

Inputs

dbHandle

Especifica un handle de base de datos válido.

notifyName

Especifica el nombre de la notificación para empezar o parar de escuchar.

comandoRellamada

Si este parámetro se pasa con un valor no vacío, proporciona el comando a ejecutar cuando una notificación válida llegue.

Outputs

Ninguno

Description

pg_listen pg_listen crea, cambia o cancela una petición para escuchar mensajes NOTIFY asíncronos desde el backend de Postgres. Con un parámetro comandoRellamada, la petición se establecerá o el string de comando de una petición existente será reemplazada . Sin ningún parámetro comandoRellamada, se cancelará una petición anterior.

Después de que se establezca una petición pg_listen, el string de comando especificado se ejecutará cuando un mensaje NOTIFY que lleve el nombre dado llegue desde el backend. Esto ocurre cuando cualquier aplicación cliente de Postgres muestra un comando NOTIFY haciendo referencia a ese nombre. (Nótese que puede ser, aunque no obligatoriamente, el de una relación existente en la base de datos). El string de comando se ejecuta desde el loop de espera de Tcl. Este es el estado de espera normal de una aplicación escrita con Tk. En shells que no son Tk Tcl, puede ejecutar update o vwait para provocar que se introduzca el loop de espera.

No debería invocar las declaraciones SQL LISTEN o UNLISTEN directamente cuando esté usando pg_listen. Pgtcl se encarga de poner en marcha esas declaraciones por usted. Pero si usted quiere enviar un mensaje NOTIFY, invoque la declaración SQL NOTIFY usando pg_exec.