Este módulo permite usar PgBouncer como agrupador de conexiones para odoo.
¿Por qué no es suficientemente bueno el agrupamiento de conexiones de odoo?
El agrupamiento de conexiones integrado de Odoo funciona a nivel de proceso: cada proceso de Odoo tiene su propio ConnectionPool, limitado a db_maxconn.
Cumple la función de reutilizar las conexiones abiertas disponibles en el grupo. Pero nunca cierra estas conexiones, a menos que se alcance db_maxconn.
En la práctica, observamos que cada worker de odoo terminará con hasta 3 conexiones abiertas en su grupo. Con 10 workers http, eso supone hasta 30 conexiones abiertas continuamente solo para una única instancia.
Aquí entra PgBouncer
PgBouncer ayudará a limitar este número de conexiones abiertas, compartiendo un grupo de conexiones a nivel de instancia, entre todos los workers. Los workers de Odoo seguirán teniendo hasta 3 conexiones abiertas, pero estas serán conexiones a PgBouncer, que por su parte cerrará las conexiones innecesarias a pg.
Esto ha demostrado ayudar al rendimiento en despliegues de Odoo con múltiples instancias.
Te permite definir cómo deben compartirse los recursos, según tus prioridades, p. ej. :
- la instancia clave de odoo en el host A puede abrir hasta 30 conexiones
- mientras que la instancia de odoo en el host B, dedicada a informes, puede abrir solo hasta 10 conexiones
Y lo más importante, te ayuda a garantizar que nunca se alcance max_connections en el lado del servidor pg.
¿Por qué se necesita este módulo?
Al configurar PgBouncer, puedes elegir entre 2 modos de agrupamiento de transacciones:
- pool_mode = session
- pool_mode = transaction
Si elegimos pool_mode = session, entonces una conexión de servidor quedará vinculada a un proceso de odoo dado hasta su muerte, que es exactamente lo que estamos tratando de cambiar. Por lo tanto, para liberar la conexión de servidor una vez completada la transacción, usamos pool_mode = transaction.
Esto funciona bien, excepto para las funciones de longpolling de Odoo que se basan en el mecanismo LISTEN/NOTIFY de pg, que no es compatible con ese modo.
Para ser más precisos, las sentencias NOTIFY son transferidas correctamente por PgBouncer en ese modo; solo la sentencia LISTEN no lo es (porque necesita mantener abierta la conexión de servidor).
Así que para la única conexión "listening" por instancia que requiere esta sentencia (aquí), necesitamos que odoo se conecte directamente al servidor pg, evitando PgBouncer.
Eso es lo que implementa este módulo, sobrescribiendo el método relevante del Dispatcher.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Permite que Odoo funcione con PgBouncer como agrupador de conexiones de base de datos externo, permitiendo que el despachador de mensajería instantánea se conecte a un host y puerto de base de datos separados.
Este es un módulo de compatibilidad técnica sin pantallas, menús ni funcionalidades visibles para el usuario. Cambia cómo el despachador de notificaciones en tiempo real de Odoo (el componente en segundo plano que escucha las notificaciones de la base de datos y las envía a las sesiones de navegador abiertas) abre su conexión a la base de datos.
Normalmente, ese despachador se conecta a la misma base de datos que el resto de Odoo. Con este módulo instalado, el host y el puerto de conexión utilizados por el despachador pueden sobrescribirse mediante parámetros de configuración de Odoo o variables de entorno, de modo que el despachador puede apuntarse a una instancia de PgBouncer en lugar de a la base de datos directamente.
- El módulo reemplaza la clase del despachador estándar por su propia versión.
- Lee los detalles de conexión a la base de datos y, a continuación, sobrescribe el host y el puerto si se ha configurado un valor alternativo.
- Registra un mensaje informativo que muestra en qué host y puerto está escuchando el despachador.
- Mantiene el mismo comportamiento de escucha: escucha en el canal
imbus, espera notificaciones y las reenvía a los websockets correspondientes.
Afecta al despachador y a los objetos de despacho de websockets del módulo bus. No se añaden modelos, campos, menús, informes, acciones programadas ni reglas de negocio nuevos; el único efecto es en cómo el despachador de notificaciones se conecta a PostgreSQL.
Depende de
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 7 confirmadas, 2 sin información de 9 versiones.
Fuentes · Odoo 14.0
Confirmado el 2026-11-03 en la rama 14.0 de OCA/server-tools.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Instalación
Fuente · Odoo 19.0No necesitas instalar este módulo en la(s) base(s) de datos para habilitarlo.
Pero necesitas cargarlo a nivel de servidor:
- Iniciando Odoo con
--load=web,bus_alt_connection - O actualizando su archivo de configuración:
[options]
(...)
server_wide_modules = web,bus_alt_connectionConfiguración
Fuente · Odoo 19.0Necesitas definir cómo conectarte directamente a la base de datos:
- Ya sea definiendo variables de entorno: > -
IMDISPATCHER_DB_HOST=db-01> -IMDISPATCHER_DB_PORT=5432 - O en el archivo de configuración de Odoo:
[options]
(...)
imdispatcher_db_host = db-01
imdispatcher_db_port = 5432Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Uso.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.