【问题标题】:Unable to connect to local Postgresql server using django无法使用 django 连接到本地 Postgresql 服务器
【发布时间】:2016-04-21 22:39:19
【问题描述】:

当我尝试从与 postgresql 服务器相同的 ec2 实例本地连接到我的 postgresql 服务器时,出现以下错误:

django.db.utils.OperationalError: FATAL:  Ident authentication failed for user "django"

我检查了我的 pg_hba.conf 以确保它允许本地连接:

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

我的 settings.py 有以下设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'famtest',
        'USER': 'django',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

当我在我的机器上运行项目时(我将“localhost”更改为 ip 地址),这些设置有效,但当我尝试从同一个 ec2 实例运行项目时,这些设置无效。

【问题讨论】:

  • 尝试为用户 django 设置密码并使用它。
  • 当你使用 'localhost' 时,ipv6 连接很有可能被建立到地址 ::1 所以你需要在你的 pg_hba.conf 中添加一行或者放入 127.0.0.1 而不是localhost 在您的连接设置中,以确保使用 ipv4。
  • @Eelke 我添加了 ipv6 行。我已经在检查 127.0.0.1;还是不行
  • 更改 pg_hba.conf 后是否重新启动服务器或重新加载设置(通过pg_ctl reload)?

标签: python django postgresql amazon-ec2


【解决方案1】:

意识到我在 0.0.0.0 而不是默认值上运行 django 服务器(由于某种原因,我的服务器不适用于 127.0.0.1)。

我将 0.0.0.0 添加到我的 pg_hba.conf 连接列表中,现在它工作正常。

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 1970-01-01
    • 2021-02-27
    • 2020-08-27
    • 2018-11-03
    • 2020-01-24
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多