Odoo, como sistema de gestión empresarial (ERP) integral, necesita una infraestructura robusta para almacenar y gestionar toda la información crítica de una empresa. Desde datos de clientes y proveedores hasta inventarios, contabilidad y operaciones de producción, cada pieza de información debe estar organizada y accesible de manera eficiente. La base de datos es el corazón de cualquier sistema ERP, y Odoo confía en una tecnología específica para esta tarea fundamental.
https://www.youtube.com/watch?v=0gcJCdgAo7VqN5tD
- La Base de Datos Central de Odoo: PostgreSQL
- Estructura: Base de Datos y Compañías
- Gestionando Múltiples Bases de Datos en un Servidor
- El Rol Crucial del dbfilter en Producción
- Estrategias de Implementación: Bases de Datos Separadas vs. Multicompañía
- Tabla Comparativa: Opciones de Estructura
- Preguntas Frecuentes sobre la Base de Datos de Odoo
- ¿Qué base de datos usa Odoo?
- ¿Es obligatorio tener una base de datos por cada empresa legal en Odoo?
- ¿Puedo tener varias bases de datos de Odoo en el mismo servidor?
- ¿Por qué se recomienda una sola base de datos en un ambiente de producción?
- ¿Cuándo es necesario usar la opción dbfilter en Odoo?
- ¿La funcionalidad multicompañía complica la administración?
- Conclusión
La Base de Datos Central de Odoo: PostgreSQL
La base de datos que Odoo utiliza por defecto y que es esencial para su funcionamiento es PostgreSQL. Reconocido por su fiabilidad, robustez y capacidad para manejar cargas de trabajo complejas, PostgreSQL es una elección común y sólida para aplicaciones empresariales a gran escala como Odoo.

Desde el momento en que se instala y configura Odoo, se requiere la creación de una base de datos inicial. Esta base de datos es donde residirán todos los datos de la instancia de Odoo, incluyendo la información de al menos una compañía con la que el usuario comenzará a trabajar.
Estructura: Base de Datos y Compañías
La configuración básica de Odoo establece una relación directa: cada base de datos contendrá la información de al menos una empresa, entendida esta como un ente legal distinto. En el diseño estándar, si una organización tiene múltiples entidades legales independientes, lo más intuitivo sería considerar una base de datos separada para cada una de ellas.
Sin embargo, Odoo ofrece la funcionalidad de gestionar múltiples compañías dentro de una única base de datos. Esta opción es viable, pero según la información proporcionada, no es siempre la idea principal si las divisiones son entidades legales completamente separadas. Para gestionar lo que podrían considerarse divisiones o unidades operativas dentro de una misma empresa legal, existe un módulo específico como operating_unit, aunque el texto no profundiza en sus detalles.
La funcionalidad multicompañía dentro de una sola base de datos es más adecuada en escenarios donde, a pesar de ser entidades legales distintas, comparten maestros comunes como productos, clientes o proveedores. Si este no es el caso y las empresas son completamente independientes en sus datos maestros, tener bases de datos separadas es a menudo la opción más limpia y sencilla desde el punto de vista de la administración.
Gestionando Múltiples Bases de Datos en un Servidor
Técnicamente, es posible tener múltiples bases de datos de Odoo alojadas en un mismo servidor PostgreSQL. Odoo está diseñado para poder manejar esta configuración. Esto puede ser útil en entornos de desarrollo, testing o staging, donde se pueden necesitar varias instancias de Odoo para probar diferentes configuraciones o versiones.

Sin embargo, cuando hablamos de un ambiente de producción, la recomendación general es tener una única base de datos de Odoo por servidor. Esta práctica simplifica la administración, las copias de seguridad y el mantenimiento general del sistema.
El Rol Crucial del dbfilter en Producción
Aunque la recomendación es una sola base de datos en producción, pueden existir motivos válidos (como estrategias de backup o la gestión de entidades legales separadas que no justifican servidores independientes) para tener más de una base de datos de Odoo en el mismo servidor de producción.
En estos casos, se vuelve indispensable el uso de la opción dbfilter en el archivo de configuración de Odoo. La función principal de dbfilter es restringir la visibilidad de las bases de datos para los usuarios. Al configurar dbfilter con el nombre de la base de datos deseada, los usuarios que accedan a esa instancia de Odoo solo verán y podrán interactuar con la base de datos especificada, sin siquiera saber que existen otras bases de datos en el mismo servidor.
El uso de dbfilter es particularmente crítico y obligatorio si se está brindando acceso web a través del portal de clientes o el e-commerce de Odoo y existen múltiples bases de datos en el servidor. Sin dbfilter activado, Odoo no tendría una forma clara y automática de determinar a qué base de datos debe dirigir las solicitudes web entrantes, lo que resultaría en errores de acceso.
A pesar de la existencia de dbfilter, la prolijidad y la simplificación de la administración siguen favoreciendo la opción de una sola base de datos de Odoo en producción siempre que sea posible.

Estrategias de Implementación: Bases de Datos Separadas vs. Multicompañía
La elección entre usar bases de datos separadas para cada entidad legal o la funcionalidad multicompañía dentro de una única base de datos es una decisión estratégica que debe basarse en la estructura operativa y las necesidades de la organización. Ambas opciones son técnicamente factibles en Odoo, pero tienen implicaciones distintas para la administración y la operación diaria.
Consideraciones clave:
- Bases de Datos Separadas: Ideal para entidades legales que operan de forma muy independiente, con pocos o ningún dato maestro compartido (productos, clientes, proveedores). Simplifica la administración de cada instancia, los backups y las actualizaciones, ya que cada base de datos es una unidad autocontenida.
- Funcionalidad Multicompañía: Adecuada cuando las entidades legales, aunque separadas, comparten una parte significativa de sus datos maestros. Permite una visión consolidada de ciertos datos y facilita las transacciones inter-compañía. Sin embargo, la administración de un sistema multicompañía puede ser más compleja, requiriendo una configuración cuidadosa de los accesos de usuario y las reglas de compartición de datos.
La funcionalidad multicompañía es ampliamente utilizada y probada, pero es importante reconocer que añade una capa de complejidad que debe ser gestionada adecuadamente por el equipo de administración del sistema.
Tabla Comparativa: Opciones de Estructura
| Característica | Una Base de Datos por Empresa | Multicompañía en una Base de Datos |
|---|---|---|
| Entidades Legales | Múltiples (cada una en su DB) | Múltiples (dentro de la misma DB) |
| Datos Maestros Compartidos | Generalmente no | Recomendado si se comparten (productos, clientes, proveedores) |
| Complejidad Administrativa | Menor (cada DB es independiente) | Mayor (configuración de accesos, reglas de compartición) |
| Necesidad de dbfilter en Producción (si hay múltiples DBs en el mismo server) | Sí (obligatorio para acceso web) | No aplica (es una sola DB) |
| Ideal para | Empresas totalmente independientes | Empresas relacionadas que comparten datos maestros |
Preguntas Frecuentes sobre la Base de Datos de Odoo
¿Qué base de datos usa Odoo?
Odoo utiliza PostgreSQL como su sistema de gestión de base de datos principal.
¿Es obligatorio tener una base de datos por cada empresa legal en Odoo?
No es estrictamente obligatorio, pero es la estructura por defecto y a menudo la más sencilla para entidades legales totalmente independientes. Odoo permite gestionar múltiples compañías dentro de una sola base de datos, especialmente si comparten datos maestros.
¿Puedo tener varias bases de datos de Odoo en el mismo servidor?
Sí, técnicamente es posible tener múltiples bases de datos de Odoo en un mismo servidor PostgreSQL.

¿Por qué se recomienda una sola base de datos en un ambiente de producción?
Se recomienda para simplificar la administración, el mantenimiento y los procesos de backup. Reduce la complejidad general del sistema.
¿Cuándo es necesario usar la opción dbfilter en Odoo?
Es necesario usar dbfilter si tienes múltiples bases de datos de Odoo en un mismo servidor de producción y quieres que los usuarios solo vean una específica. Es obligatorio si ofreces acceso web (portal, e-commerce) y tienes varias bases de datos en el servidor.
¿La funcionalidad multicompañía complica la administración?
Sí, aunque es una funcionalidad potente y factible, gestionar múltiples compañías dentro de una sola base de datos puede añadir complejidad a la administración del sistema, especialmente en la configuración de permisos y reglas de datos.
Conclusión
La elección de PostgreSQL como base de datos subyacente de Odoo proporciona una base sólida y fiable para la gestión empresarial. Comprender la relación entre las bases de datos y las compañías, así como las opciones para gestionar múltiples entidades (ya sea con bases de datos separadas o la funcionalidad multicompañía), es fundamental para una implementación y administración exitosa de Odoo.
Si bien Odoo ofrece flexibilidad para adaptarse a diversas estructuras organizativas, desde una sola empresa hasta múltiples entidades, la decisión sobre la arquitectura de la base de datos debe tomarse considerando la independencia de las entidades, la compartición de datos maestros y la capacidad administrativa. En entornos de producción con múltiples bases de datos, el uso adecuado de dbfilter se convierte en un elemento de configuración indispensable para garantizar el correcto funcionamiento y la seguridad del acceso.
Si quieres conocer otros artículos parecidos a ¿Qué Base de Datos Usa Odoo? Guía Completa puedes visitar la categoría Bases de datos.

Aprende mas sobre MySQL