【发布时间】:2018-09-18 03:25:26
【问题描述】:
我是一个初学者,我一直在创建一个 Django 项目。我正在尝试将sqlite3 db 切换为postgresql。但是当我做make migrations 时,发生了这个错误。
django.db.utils.OperationalError: FATAL: no pg_hba.conf entry for host, user, database
我搜索了这个错误。还有人查了pg_hba.conf文件,但我不知道这个文件在哪里。
当我之前创建项目并做同样的事情时,也没有这个错误。这次为什么会出现这个错误?是什么原因?
我该如何解决这个错误?
这是settings.py中的配置部分
DATABASES = {
'default': {
#elephantsql
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('DATABASE_NAME', ''),
'USERS': os.environ.get('DATABASE_USER', ''),
'PASSWORD': os.environ.get('DATABASE_PASSWORD', ''),
'HOST': os.environ.get('DATABASE_HOST', ''),
'PORT': os.environ.get('DATABASE_PORT'),
}
}
【问题讨论】:
-
请发布您的
settings.py。特别是您配置数据库的部分。 -
我更新了我的问题。
-
好的,
os.environ.get('DATABASE_HOST', ''),的值是多少?如果不是localhost或127.0.0.1(即没有与Django 安装在同一台服务器上运行),您应该配置您的PostgreSQL 服务器以响应远程调用。 -
你是否已经让连接监听所有?如果您是要迁移的远程服务器或其他服务器。
-
使连接监听是什么意思?我在 eleplantsql 上创建了 db 实例,并将我创建的实例的主机名设置为
DATABASE_HOST
标签: python django postgresql