Introducción: Guía Completa para Configurar Odoo 17 con PostgreSQL

En el mundo de la gestión empresarial, contar con un ERP robusto y personalizable es clave para manejar de manera eficiente las operaciones de una compañía. Odoo, conocido por su flexibilidad y amplia gama de módulos, se ha posicionado como una de las soluciones más populares para empresas de todos los tamaños. Sin embargo, para aprovechar al máximo su potencial, es fundamental realizar una configuración adecuada que garantice un rendimiento óptimo, seguridad y estabilidad.

En esta guía detallada, nos enfocaremos en la instalación y configuración de Odoo 17, integrándolo con PostgreSQL, uno de los sistemas de gestión de bases de datos más confiables y ampliamente utilizados. Este tutorial está diseñado para administradores de sistemas, desarrolladores y entusiastas de la tecnología que buscan implementar una configuración sólida y personalizable para su entorno de Odoo.

A lo largo de este artículo, aprenderás:

  • Cómo configurar PostgreSQL, incluyendo la creación de usuarios y la personalización de los archivos de configuración esenciales como postgresql.conf y pg_hba.conf.
  • Los pasos necesarios para ajustar la configuración de Odoo mediante su archivo de configuración (odoo.conf), asegurando la correcta conexión con la base de datos y definiendo rutas específicas para los addons.
  • La creación y gestión de servicios en Systemd, lo que permite automatizar el inicio y la supervisión de Odoo en sistemas basados en Linux.
  • Métodos para verificar que todos los componentes están correctamente instalados y configurados, desde roles de PostgreSQL hasta permisos en los directorios de trabajo.

Además, exploraremos cómo realizar pruebas básicas con la base de datos, crear tablas, insertar datos y conectarse a PostgreSQL desde diferentes herramientas o interfaces. Esto garantizará que tu entorno no solo esté funcional, sino también optimizado para tareas futuras.

Este artículo se divide en secciones claras con ejemplos prácticos y comandos específicos que puedes seguir paso a paso, incluso si no tienes experiencia previa configurando Odoo o PostgreSQL. Si estás listo para comenzar esta aventura técnica y dotar a tu organización de una plataforma ERP robusta y eficiente, sigue leyendo y prepara tu terminal para sumergirte en el proceso.

¡Empecemos!



Configuración Completa para Odoo 17 con PostgreSQL

Comandos para Configuración Inicial

Crear Usuario y Configurar PostgreSQL

sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser odoo17
psql
ALTER USER odoo17 WITH PASSWORD 'odoo17';
\q
exit

Editar Archivos de Configuración de PostgreSQL

`postgresql.conf`

listen_addresses = '*'

`pg_hba.conf`

# Permitir acceso desde cualquier IP
host    all             all             0.0.0.0/0               md5
host    all             all             ::/0                    md5

Reiniciar PostgreSQL

sudo systemctl restart postgresql

Configuración de Odoo

Archivo de Configuración de Odoo (`/etc/odoo17.conf`)

[options]
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo17
db_password = odoo17
addons_path = /opt/odoo17/odoo17/addons, /opt/odoo17/odoo17/custom-addons
logfile = /var/log/odoo17/odoo.log

Archivo del Servicio de Systemd (`/etc/systemd/system/odoo17.service`)

[Unit]
Description=Odoo17
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo17
Group=odoo17
ExecStart=/opt/odoo17/odoo17-venv/bin/python3 /opt/odoo17/odoo17/odoo-bin -c /etc/odoo17.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Crear Directorios y Establecer Permisos

sudo mkdir -p /opt/odoo17/odoo17/custom-addons
sudo chown -R odoo17:odoo17 /opt/odoo17/odoo17/custom-addons
sudo chmod -R 755 /opt/odoo17/odoo17/custom-addons
sudo mkdir -p /var/log/odoo17
sudo chown odoo17:odoo17 /var/log/odoo17

Recargar Servicios del Sistema

sudo systemctl daemon-reload
sudo systemctl enable odoo17
sudo systemctl start odoo17

Comandos de Verificación

Comprobar Usuario de Sistema

getent passwd odoo17

Verificar Roles en PostgreSQL

\du

Comprobar Permisos de Directorios

sudo ls -l

Configuración de la Base de Datos

Crear Tabla y Probar Datos

CREATE TABLE product_TEST (
    Id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    cantidad INTEGER NOT NULL,
    idProducto INTEGER NOT NULL,
    CONSTRAINT fk_product_product FOREIGN KEY (idProducto) REFERENCES product_product (id)
);

INSERT INTO product_TEST (name, cantidad, idProducto)
VALUES ('Producto Nuevo', 10, 1);

SELECT * FROM product_TEST;

Conexiones a PostgreSQL

Conector Default

dbname=odoo17_db hostaddr=192.168.55.55

URL de Conexión Completa (JDBC)

postgresql://192.168.55.55:5432/odoo17_db

Driver de PostgreSQL (JDBC)

org.postgresql.Driver