【发布时间】:2019-12-14 19:58:20
【问题描述】:
我已经有一个使用 sqlite3 的正常运行的网站,但我更喜欢用一个立即使用 PostgreSQL/PostGIS 的空项目来重新启动我的网站项目。在settings.py 的配置结束时,我将进行转储以将所有 sqlite3 表上传到新数据库中。旧项目的任何模型都不会修改到这个新项目中。新旧项目的区别仅在于 DBMS。
这是 settings.py:
INSTALLED_APPS = [
...
'django.contrib.gis',
]
...
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'my_project_name',
'USER': 'db_user',
'PASSWORD': 'password_of_db_user',
}
}
在此之后,我尝试使用 python3 manage.py runserver 测试服务器,但我看到了以下错误消息:
django.db.utils.OperationalError: FATAL: Peer authentication failed 对于用户“db_user”
我确定 NAME、USER 和 PASSWORD 是正确的,数据库在 localhost 中。几周前,我创建了另一个简单的项目,以使用相同的设置学习 GeoDjango,并且该网站运行良好。
【问题讨论】:
-
您在更改配置后是否创建了新的 postgres 数据库?
-
是的,我已经使用命令行和 PgAdmin4 来执行此操作。在我的本地服务器中有三个数据库:这个数据库、默认数据库和我正在学习 GeoDjango 的数据库。
标签: django postgresql django-settings django-2.2