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

如何在Windows8中同时运行Odoo-10与Odoo-11服务并解决冲突?

解决Odoo 10与Odoo 11在Windows 8上的并行运行冲突

我来帮你搞定这个版本冲突的问题——你遇到的Skipping database pos10 as its base version is not 11.0.1.3报错,本质是Odoo启动时会扫描PostgreSQL中所有可见数据库,再加上当前的dbfilter规则不够严谨,导致Odoo 11误扫到了Odoo 10的数据库。按照下面的步骤调整配置,就能实现两个版本同时正常运行:

1. 严格限定数据库过滤规则

你当前的dbfilter写法太宽松,比如dbfilter=odoo11会匹配所有包含odoo11的数据库,反而容易扫到其他库。改成精确匹配的正则表达式,让每个Odoo实例只加载自己的数据库:

  • 编辑Odoo 11的odoo.conf:
    dbfilter = ^odoo11$
    
  • 编辑Odoo 10的odoo.conf:
    dbfilter = ^odoo10$
    
    注:^和$是正则的开始和结束标记,确保只有完全匹配名称的数据库才会被加载。

2. 隔离PostgreSQL用户的数据库权限

你已经为两个版本创建了独立的PG用户(openpg和openpg1),接下来要确保每个用户只能访问对应版本的数据库,从根源上避免跨版本扫描:

  1. 打开PostgreSQL的命令行工具(psql),用超级用户postgres登录:
    psql -U postgres
    
  2. 撤销openpg对Odoo 10数据库的访问权限:
    REVOKE ALL PRIVILEGES ON DATABASE odoo10 FROM openpg;
    
  3. 撤销openpg1对Odoo 11数据库的访问权限:
    REVOKE ALL PRIVILEGES ON DATABASE odoo11 FROM openpg1;
    
    这样每个Odoo实例的PG用户只能看到自己有权限的数据库,不会再扫到其他版本的库。

3. 修正配置文件的细节问题

检查你的Odoo 11配置,addons_path里有多余的空格(d: \ odoo \ addons),这可能导致加载插件出错,改成:

addons_path = D:\odoo\addons

另外,建议给两个实例分别指定独立的日志文件,避免日志混淆:

  • Odoo 11添加:
    logfile = D:\odoo\logs\odoo11.log
    
  • Odoo 10添加:
    logfile = D:\odoo-10.0\logs\odoo10.log
    

4. 重启并验证

关闭正在运行的两个Odoo实例,先启动Odoo 10确认正常运行,再启动Odoo 11。此时检查控制台日志:

  • Odoo 11的日志里不会再出现关于pos10或Odoo 10数据库的报错
  • 两个实例都能正常打开登录页,且只显示对应版本的数据库

内容的提问来源于stack exchange,提问作者Hassan ALi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:45:47