在不使用密码的情况下使用心理复制2连接到数据库
问题描述
我的本地主机上有一个postgres数据库,无需密码即可访问
$ psql -d mwt
psql (8.4.12)
Type "help" for help.
mwt=# SELECT * from vatid;
id | requester_vatid |...
-----+-----------------|...
1719 | IT00766780266 |...
我想从Django访问该数据库。所以我放了DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mwt',
'USER': 'shaoran',
'HOST': 'localhost'
}
}
由于访问测试数据库不需要密码,因此没有在设置中提供任何PASSWORD
值。
$ ./manage.py shell
>>> from polls.models import Vatid
>>> Vatid.objects.all()
connection_factory=connection_factory, async=async)
OperationalError: fe_sendauth: no password supplied
我尝试使用PASSWORD: ''
,但收到相同的错误消息。我尝试使用PASSWORD: None
,但也没有帮助。
我一直在搜索有关这方面的Django文档,但我找不到任何有用的东西。是否可以将django.db.backends.postgresql_psycopg2
配置为接受空密码?
解决方案
检查您的pg_hba.conf
以允许用户shaoran
从localhost
连接,然后在Django设置中提供shaoran
的密码或在pg_hba.conf
psql
进行连接是因为psql -d mwt
使用了一些在pg_hba.conf
中设置为受信任的默认连接值。例如,在我的计算机上,默认主机是local socket
而不是localhost
相关文章