bash - 如何以用户身份运行 openERP 但使用不同的数据库用户名?

标签 bash postgresql python-2.7 odoo

我通过这个命令运行我的 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 服务器?

其他事实:

  1. odoo 通过以下方式拥有一个 bash 帐户:$ sudo useradd odoo
  2. psql: # CREATE USER odoo WITH SUPERUSER LOGIN CREATEDB INHERIT PASSWORD 'some_password';
  3. psql: # CREATE DATABASE odoo OWNER odoo;

不幸的是我有这些限制:

  1. 我无法运行 sudo -u odoo COMMAND 或任何 bash 命令来使用不同的 bash 用户。
  2. 我只能使用 /usr/bin/python2 运行。
  3. 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/

相关文章:

bash - 跨平台命令行脚本(例如 .bat 和 .sh)

python - 与 Bash/shell 相比,使用 Python 连接到 FTP 服务器有什么优势吗?

linux - 在 "find -exec"中使用 eval 时出现意外行为

ruby-on-rails - 添加带有 Rails 迁移错误的整数数组列

python - 如何在python中动态转义/输入文件名

android - sl4a python 为安卓手机做一个Toast

linux - 如何以正确的方式使用 awk 中的命令

sql - postgresql group by 和 inner join

python - 如何在 odoo-11 中卸载模块时同时删除数据库表?

python - KeyboardInterrupt 不会在广泛异常的情况下引发或捕获