Notificaciones
La sección Notificaciones escucha las notificaciones asíncronas que las sesiones envían a través de la propia base de datos y las muestra a medida que llegan:
- PostgreSQL:
LISTEN/NOTIFY; - Oracle:
DBMS_ALERT; - Firebird: eventos (
POST_EVENT).
MySQL, MariaDB, SQL Server y SQLite no tienen equivalente; para ellos la sección indica Los canales de tipo NOTIFY no son compatibles con conexiones …. en lugar de ocultar la función.
Abrir la sección
Haga clic en el icono Notificaciones de la barra izquierda. La sección comparte la franja de pestañas de conexión abiertas con la sección Base de datos: seleccione una pestaña para ver los canales y mensajes de esa conexión. Si no hay ninguna conexión abierta, muestra No hay ninguna conexión abierta. y le pide que abra primero una en el panel Base de datos.
La escucha no depende de que la sección Notificaciones esté visible: en cuanto se abre una conexión en la sección Base de datos, OmniDB empieza a escuchar en sus canales guardados (a través de una conexión aparte y dedicada, de modo que nunca interfiere con sus pestañas de consulta o de consola), y deja de hacerlo cuando se cierra esa pestaña de conexión.
Canales
La parte izquierda de la sección es un árbol con una raíz Canales. Para añadir un canal, haga clic en + bajo el árbol (o clic derecho en el árbol → Agregar canal), escriba el Nombre del canal y pulse Enter. OmniDB empieza a escuchar en él de inmediato. Los nombres de alerta de Oracle están limitados a 30 bytes, y los nombres de evento de Firebird, a 255.
Haga clic derecho en un canal para:
- Pausar / Reanudar: detener o reanudar la escucha en ese canal (un canal en pausa muestra una campana tachada);
- Borrar mensajes: quitar de la lista los mensajes de ese canal;
- Eliminar: eliminar el canal (también disponible como − bajo el árbol), tras una confirmación. También se eliminan sus mensajes.
Los canales y su estado de pausa/activo se guardan por usuario de OmniDB y por conexión, de modo que vuelven tras un reinicio. Los nombres de canal de PostgreSQL se usan como identificadores entre comillas, que distinguen mayúsculas de minúsculas.
Mensajes
Los mensajes recibidos aparecen a la derecha en una tabla con las columnas Canal, Hora (cuando OmniDB lo recibió) y Contenido. Los eventos de Firebird no llevan contenido, por lo que en ellos Contenido muestra cuántas veces se publicó el evento.
La fila de casillas situada encima de la tabla filtra la lista: Todos los canales, o solo los canales que marque. Borrar todo vacía la lista completa.
Los mensajes se conservan solo en el navegador (o la ventana de escritorio) que los recibió: no se almacenan en ningún sitio y desaparecen tras recargar la página.
Si los mensajes llegan más deprisa de lo que la página los consume, OmniDB deja de escuchar en lugar de dejar que se acumulen sin límite; también se detiene si falla la conexión de escucha. En ambos casos, un aviso explica el motivo, con un botón Reiniciar escucha.

Enviar una notificación de prueba
Las notificaciones se envían con SQL normal, por ejemplo desde una pestaña de consulta sobre la misma base de datos:
-- PostgreSQL (delivered when the transaction commits)
NOTIFY my_channel, 'hello';
SELECT pg_notify('my_channel', 'hello');
-- PostgreSQL, channel name with upper-case letters: quote it
NOTIFY "MyChannel", 'hello';
-- Oracle
BEGIN
DBMS_ALERT.SIGNAL('my_alert', 'hello');
COMMIT;
END;
-- Firebird (the event is posted on commit)
EXECUTE BLOCK AS BEGIN POST_EVENT 'my_event'; END