在不使用密码的情况下使用心理复制2连接到数据库

本教程将介绍在不使用密码的情况下使用心理复制2连接到数据库的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

在不使用密码的情况下使用心理复制2连接到数据库 教程 第1张

问题描述

我的本地主机上有一个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以允许用户shaoranlocalhost连接,然后在Django设置中提供shaoran的密码或在pg_hba.conf

中信任用户

您可以通过psql进行连接是因为psql -d mwt使用了一些在pg_hba.conf中设置为受信任的默认连接值。例如,在我的计算机上,默认主机是local socket而不是localhost

好了关于在不使用密码的情况下使用心理复制2连接到数据库的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。