首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django单元测试故障转移域套接字

Django单元测试故障转移域套接字
EN

Stack Overflow用户
提问于 2019-10-08 22:31:42
回答 1查看 66关注 0票数 0

我将Django配置为在本地Unix域套接字上使用具有对等身份验证的数据库,而不是使用用户/密码身份验证。下面是settings.DATABASES:

代码语言:javascript
复制
{'default': {'ENGINE': 'django.db.backends.postgresql',
             'NAME': 'mcps',
             'PORT': 5433,
             'TEST': {'ENGINE': 'django.db.backends.postgresql',
                      'NAME': 'mytestdb',
                      'PORT': 5433,
                      'USER': 'mcp'},
             'USER': 'mcp'}
}

端口配置正确,应用程序本身正常工作没有问题。

然而,当我尝试运行pytest时,将环境变量DJANGO_SETTINGS_MODULE设置为上述设置,创建了一个数据库-具有正确的所有者'mcp‘-但在创建表之前,我得到一个错误:

代码语言:javascript
复制
django.db.utils.OperationalError: FATAL:  Peer authentication failed for user "mcp"

单元测试有什么不同之处,我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 18:31:23

@Nader Alexan没有要设置的主机,通信通过本地Unix域套接字进行。我试着添加

代码语言:javascript
复制
'HOST': '/run/postgresql'

就像我在pgAdmin中不得不做的那样,但这并没有解决问题。

事实证明,即使维护数据库被设置为template1,pytest也会尝试访问名为“postgres”的数据库。我还不能确定原因,但是在pg_hba.conf中显式地添加对该数据库的访问使我能够运行测试。

抱歉,如果这个解释有点站不住脚,我自己对除了用户名/密码之外的PG身份验证的形式是新的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58288486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档