You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo15配置custom.conf启动报odoo15用户PostgreSQL密码认证失败

问题根因

本次密码认证报错与指定8015端口启动无关,核心是两处配置不匹配:

  • 配置文件中指定连接PostgreSQL的用户为odoo15,但当前PostgreSQL实例内odoo15库的所有者是odoo用户,此前在8069端口创建的mydb库所有者为系统用户tarikol,odoo15用户无对应数据库的访问权限
  • PostgreSQL默认本地连接认证规则通常为peer/ident模式,不支持账号密码形式的认证校验,会直接拒绝密码连接请求
修复步骤

1. 修复PostgreSQL用户与库权限

切换到postgres系统用户进入psql命令行:

sudo su - postgres
psql

依次执行以下SQL,创建/修正odoo15用户、设置匹配的密码、授权对应数据库权限:

-- 检查odoo15用户是否存在,不存在则直接创建
DO $$
BEGIN
  IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'odoo15') THEN
    CREATE ROLE odoo15 LOGIN PASSWORD 'odoo15' CREATEDB;
  END IF;
END
$$;

-- 设置与配置文件一致的连接密码
ALTER USER odoo15 WITH PASSWORD 'odoo15';

-- 将已有业务库的所有者修改为odoo15,保证访问权限
ALTER DATABASE mydb OWNER TO odoo15;
ALTER DATABASE odoo15 OWNER TO odoo15;

-- 退出psql
\q

执行完成后退回原系统用户:

exit

2. 修改PostgreSQL连接认证规则

先执行命令查询pg_hba.conf配置文件的绝对路径:

sudo su - postgres -c "psql -c 'show hba_file;'"

编辑查询到的配置文件,找到本地连接相关的三行配置,将认证方式从peer/ident修改为md5,修改后效果如下:

local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

保存退出后重启PostgreSQL服务让配置生效:

sudo systemctl restart postgresql

3. 验证连通性后启动Odoo

先执行命令验证odoo15用户可以正常通过密码连接PostgreSQL:

psql -h localhost -U odoo15 -d postgres

输入密码odoo15如果能正常进入psql交互界面,说明数据库侧配置已经正确。退出psql后,指定你的custom.conf配置文件启动Odoo即可:

/path/to/your/odoo-bin -c /path/to/your/custom.conf

启动成功后访问http://服务器IP:8015即可正常进入Odoo界面,不会再触发密码认证错误。

附加说明
  • 如果不需要保留此前在8069端口创建的mydb库,不需要执行修改库所有者的操作,直接在Odoo的数据库管理页面用odoo15用户新建数据库即可
  • 配置文件中addons_path列的所有路径需要保证启动Odoo的系统用户有读取权限,否则会触发路径不存在报错,该问题与本次密码认证错误无关
  • 启动前如果8069端口的旧Odoo服务仍在运行不需要手动停止,8015与8069端口互不冲突

数据库创建页面截图


内容的提问来源于stack exchange,提问作者Tarikol Islam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 23:24:23