我通过这个命令运行我的 OpenERP:
ghelo@pc$ /usr/bin/python2 openerp-server -c my_config.conf
我有这些作为数据库凭据:
username: odoo
password: some_password
我的 my_config.conf
文件有这些相关行:
db_host = False
db_maxconn = 64
db_name = False
db_password = some_password
db_port = False
db_template = template1
db_user = odoo
dbfilter = .*
我的 pg_hba.conf
文件有这些附加内容,在每次编辑时重新启动服务 postgresql
:
host all ghelo all md5
local all odoo trust
但是运行服务器会引发此豁免:
FATAL: Peer authentication failed for user "odoo"
我的问题是,如何运行 OpenERP 服务器?
其他事实:
odoo
通过以下方式拥有一个 bash 帐户:$ sudo useradd odoo
psql
:# CREATE USER odoo WITH SUPERUSER LOGIN CREATEDB INHERIT PASSWORD 'some_password';
psql
:# CREATE DATABASE odoo OWNER odoo;
不幸的是我有这些限制:
- 我无法运行
sudo -u odoo COMMAND
或任何 bash 命令来使用不同的 bash 用户。 - 我只能使用
/usr/bin/python2
运行。 - Bash 用户名和数据库用户名不能相同。
最佳答案
我觉得很傻,我一直在优先规则
-ed。 pg_hba.conf
中的行顺序很重要。我通过以下方式解决了这个问题:
放置这条线:
local all odoo trust
就在之前:
# "local" is for Unix domain socket connections only
local all all peer
然后使用以下命令从 root 用户重新启动您的 postgresql 服务:
systemctl 重启 postgresql.service
关于bash - 如何以用户身份运行 openERP 但使用不同的数据库用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26292253/