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

connect to a DB using psycopg2 without password(在不使用密码的情况下使用心理复制2连接到数据库)

本文介绍了在不使用密码的情况下使用心理复制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以允许用户shaoranlocalhost连接,然后在Django设置中提供shaoran的密码或在pg_hba.conf

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

这篇关于在不使用密码的情况下使用心理复制2连接到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在不使用密码的情况下使用心理复制2连接到数据库

基础教程推荐