1、Odoo框架
Odoo 的前身是 OpenERP,是一个开源的企业 ERP 系统。
Odoo是一套完整的系统,是一个开源框架,针对 ERP
的需求发展而来,适合定制出符合客户各种需求的ERP系统、电子商务系统、CMS、或者是网站。
Odoo系统是一个现代化的商业应用ERP组件,使用的是Python语言开发。它的开发过程都是模块化的。是典型的模型-视图-控制器(MVC)结构。
目前官方规定只支持安装PostgreSQL数据库。
ODOO有两个版本 -
企业版和社区版。社区版是开源的(代码公开),可以简单、自由获得;而企业版是闭源的,需要付费购买。
使用安全版数据库会出现以下问题:
psycopg2.OperationalError: connection to server at “192.168.3.5”,
port 5866 failed: 致命错误: 角色 “odoo” 不存在;psycopg2.OperationalError: connection to server at “192.168.3.5”,
port 5866 failed: 致命错误: 数据库 “postgres” 不存在;ERROR: 错误: 创建扩展 “pg_trgm” 权限不够;
psycopg2.errors.FeatureNotSupported: 错误: 不能更改系统字段
“seclabel”;
2、适配过程
2.1 环境准备
瀚高数据库安全版V4.5.10
Odoo17 社区开源版本
2.2 数据库设置
由于Odoo是不允许用pg自带的管理员角色–postgres,所以得创一个odoo使用数据库的角色。
安全版关闭三权
psql -U syssso |
创建postgres、odoo用户
create user odoo superuser createdb login password 'Qwer@1234*#'; |
2.2 odoo框架修改
核心思路:增加一个db_type 参数,使用瀚高数据库时做下特殊处理。
修改odoo.conf(./odoo.conf)
[options] |
修改 config.py(./odoo/tools/config.py)
#找到代码段**
class configmanager(object): |
#定位到268行
group.add_option("--db-template", dest="db_template",my_default="template0",help="specify a custom database template to create a new database") |
#新增一个数据库类型参数
group.add_option("--db-type", dest="db_type",my_default="highgo",help="specify a database type to create a new database") |
#定位到451行
# 新增一个数据库类型参数 |
#定位到792行
# 添加数据库类型** |
# 添加数据库用户
def get_db_user(self):return self.options.get('db_user', None) |
修改sql.py(./odoo/sql.py)
#定位到386行
def drop_not_null(cr, tablename, columnname): |
修改db.py (./odoo/service/db.py)
#定位到121行
db = odoo.sql_db.db_connect(name) |
验证
查看运行日志,有以下内容:
2026-03-08 05:18:29,874 8356 INFO ? odoo.service.server: HTTP service |
表明启动成功,浏览器输入地址:http://127.0.0.1:8069

Master Password:odoo.conf 配置的用户密码
Database Name:数据库名
Email:随便写
Password:随便写
- 后面每次登录 会使用Email和Password
填入信息后,运行日志内容如下:
... |
出现这个界面,说明适配成功

输入之前填写的Email和Password
运行日志内容如下:
... |
进入主界面
