我正在将我的 Django 开发服务器恢复到另一台虚拟机。我已经设置了 Django、Postgres、安装了 GIS 扩展并恢复了数据库。
当我运行服务器时,出现以下错误:
用户“myuser”密码验证失败
使用“myuser”,我可以以该用户的身份使用“mysettings.py”中指定的相同密码连接到 Postgres 数据库,并创建和删除表,所以我不明白为什么它无法连接。
我的 settings.py 如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'travel',
'USER': 'myuser',
'PASSWORD': 'Passw0rd',
'HOST': 'localhost',
'PORT': '',
}
}
有人能帮忙吗?如果我可以以该用户身份登录并创建/删除表,这对我来说毫无意义。
答案1
如果没有更多信息,很难判断,但这''
不是有效的端口号。您可能应该使用 PostgreSQL 的默认端口 5432。
答案2
我设法通过在 postgres 中创建一个新用户并在 settings.py 中使用他们的凭据来解决这个问题。我需要让该用户成为超级用户。
之前的用户是服务器上的本地用户,与 postgres 帐户相关联,所以我不明白为什么在这种情况下它不起作用。有人能提供建议吗?