我正在开发一个django应用程序,该应用程序已在我的开发服务器上运行(一个运行Raspbian的Raspberry Pi,带有PostgreSQL 9.6),现在我开始尝试在其生产环境中运行它(一个正在运行的AWS实例) ubuntu与postgresql 10)。
使用django的标准用户注册页面(我又添加了一个字段)的略微修改版本设置我的网站的第一个用户时,出现错误:
FATAL: password authentication failed for user "makersuser"
我再次在postgres提示符下设置了密码,以确保暂时将对decouple
中的.env
的调用替换为带有硬编码密码的md5
字符串文字),因此我可以确定该密码与我在postgres命令行上设置的密码相同,并且将该用户的密码有效期限设置为无穷大(如Postgres password authentication fails),并且如Getting error: Peer authentication failed for user "postgres", when trying to get pgsql working with rails
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
我的pg_hba.conf现在看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'makers',
'USER': 'makersuser',
'PASSWORD': decouple.config('POSTGRES_PASSWORD'),
'HOST': 'localhost',
'PORT': '',
}
}
和我的settings.py的数据库部分现在看起来像这样(除了具有硬编码的密码之外):
int a[1];
接下来我应该尝试什么?我的数据库设置是脚本化的,我相信在两个系统上都是相同的,并且在Raspberry Pi上运行良好。