【问题标题】:celery error in connection with postgresql while django can与postgresql有关的芹菜错误,而django可以
【发布时间】:2019-12-19 18:30:17
【问题描述】:

我在我的 django 项目中使用了 celery .django 正在运行 uWSGI 并且可以很好地与 postgresql 一起使用,但是 celery 似乎无法连接到 postgresql :

Traceback (most recent call last):
  File "/home/classgram/www/env/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
    self.connect()
  File "/home/classgram/www/env/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/home/classgram/www/env/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 178, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/home/classgram/www/env/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  password authentication failed for user "hamclassy"
FATAL:  password authentication failed for user "hamclassy"

我正在开发主机,主机操作系统是 Ubuntu 18.04 。谢谢

【问题讨论】:

  • 检查 hamclassy 用户是否存在于 Postgres 中。
  • 如果hamclassy 存在,您需要检查运行celery 的主机是否允许以hamclassy 登录。可能是 django 主机有访问权限而 celery 没有。
  • @SergeyPugach:hamclassy 角色存在。当我运行SELECT 1 FROM pg_roles WHERE rolname='hamclassy' 时,返回1
  • @azundo 。我怎样才能检查它?抱歉,但我是 Unix OS 终端的新手,我对用户和权限了解不够。在运行 htop 命令时,我可以看到 celeryuwsgi 都与用户 classgram 一起运行,那又如何我必须检查 classgram 是否可以访问 postgresql?
  • 这个问题与Celery无关——显然是典型的PostgreSQL访问控制问题。

标签: django postgresql celery ubuntu-18.04


【解决方案1】:

这个问题与 Celery 无关——显然是典型的 PostgreSQL 访问控制问题。

您的 PostgreSQL 服务器似乎允许hamclassy 角色(用户)从运行 Django 的机器连接,但不允许您的 Celery 工作人员访问。寻找问题解决方案的正确位置是 PostgreSQL 服务器上的 pg_hba.conf 文件。

在大多数 Linux 发行版上,locate pg_hba.conf 应该会为您提供文件的位置。 Fedora 在这里:/var/lib/pgsql/data/pg_hba.conf。另一方面,Ubuntu 在 /etc/postgresql 中有它。 (例如:/etc/postgresql/9.6/main/pg_hba.conf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-02
    • 2021-11-29
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多