Odoo 10应用无法识别现有PostgreSQL数据库的连接问题咨询
解决Odoo 10数据库选择器不显示现有数据库的问题
我之前在维护Odoo 10实例时碰到过几乎一模一样的问题——数据库在PostgreSQL里明明存在,但Odoo的数据库选择器就是看不到,只有新创建的库能正常显示。结合当时的排查和解决经验,给你几个实用的步骤:
1. 确认Odoo用户对现有数据库的访问权限
Odoo只会展示当前PostgreSQL用户有权限访问的数据库,默认Odoo使用的是odoo用户,你可以按以下步骤检查并修复权限:
- 登录PostgreSQL后端:
sudo -u postgres psql - 查看所有数据库的所有者信息:
SELECT datname, pg_get_userbyid(datdba) FROM pg_database; - 如果目标数据库的所有者不是
odoo,或者odoo没有连接权限,执行以下SQL(替换your_existing_db_name为你的数据库名):-- 切换到目标数据库 \c your_existing_db_name; -- 授予连接权限 GRANT CONNECT ON DATABASE your_existing_db_name TO odoo; -- 授予public schema的操作权限 GRANT USAGE ON SCHEMA public TO odoo; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO odoo; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO odoo;
2. 检查Odoo配置文件的数据库过滤规则
Odoo的配置文件(通常是odoo.conf)里的db_filter参数可能设置了过滤正则,导致旧数据库被排除在外:
- 打开配置文件,查找
db_filter项,比如如果有db_filter = ^%h$,会只匹配和当前主机名一致的数据库。 - 可以先临时注释掉这个参数(在前面加
#),然后重启Odoo服务:sudo service odoo restart - 如果需要保留过滤规则,调整正则表达式包含你的现有数据库,比如:
db_filter = ^(your_old_db|new_created_db)$
3. 修复数据库内的Odoo标识参数
Odoo依赖数据库内的ir_config_parameter表中的特定参数来识别数据库,如果这些参数缺失或损坏,就会导致数据库不显示:
- 登录到目标数据库:
sudo -u postgres psql your_existing_db_name - 检查关键参数是否存在:
SELECT * FROM ir_config_parameter WHERE key IN ('database.uuid', 'web.base.url'); - 如果缺失,手动插入(UUID可以用系统命令
uuidgen生成,web.base.url替换为你的Odoo访问地址):INSERT INTO ir_config_parameter (key, value) VALUES ('database.uuid', '550e8400-e29b-41d4-a716-446655440000'); INSERT INTO ir_config_parameter (key, value) VALUES ('web.base.url', 'http://your_ip:your_port');
4. 清理Odoo缓存并重启服务
Odoo可能缓存了旧的数据库列表,重启服务可以强制刷新:
- 如果是用系统服务运行的Odoo:
sudo service odoo restart - 如果是源码运行的:
# 先停止现有进程,然后重新启动 ./odoo-bin -c odoo.conf
5. 检查PostgreSQL的连接配置
确保PostgreSQL允许Odoo用户从本地连接,打开pg_hba.conf文件(路径通常是/etc/postgresql/9.5/main/,根据你的PostgreSQL版本调整),检查是否有以下配置:
local all odoo trust host all odoo 127.0.0.1/32 trust host all odoo ::1/128 trust
如果没有,添加后重启PostgreSQL服务:
sudo service postgresql restart
按这个顺序排查,大部分情况下权限或配置文件的问题就能解决。如果还是不行,可以检查Odoo的日志文件(通常在/var/log/odoo/),看看有没有具体的错误提示,能更快定位问题。
内容的提问来源于stack exchange,提问作者RELEENA JOY
相关产品推荐
相关产品推荐

