我正在开始格罗丹戈教程。我已经复制和过去的每件事,但我仍然得到错误。
django.db.utils.OperationalError: FATAL: Peer authentication failed for user "geo"我对geodjango、postgresql和postgis很陌生。我重新安装了postgresql和postgis。
我在文档中创建geo用户。
$ sudo su - postgres $ createuser -createdb geo $出口
我不知道怎么解决这个问题。
这是我的设置:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'geo',
# 'HOST': 'localhost', I tried this but didn't work
# 'PASSWORD': '***', I tried it too using a password but didn't work
}}
发布于 2015-05-18 00:00:07
所以我找到了一个解决方案,geodjango教程不起作用。
sudo -i -u postgres
然后:
psql
然后:
创建用户用户名; 用CREATEDB更改角色用户名; 使用加密密码“密码”更改用户用户名;
我有这样的设置:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'username',
'HOST': 'localhost',
'PASSWORD': '****',
}}
发布于 2015-05-18 10:33:30
对等身份验证错误通常是由错误的pg_hba.conf文件引起的。文件中有阻止用户执行查询的项。
pg_hba.conf位于postgres-data目录中,并定义了postgres安装的基本配置。在您的示例中,数据库获得一个请求,但拒绝处理,因为您的用户没有自动执行请求。
以postgres的身份登录-用户:
sudo su - postgres使用您选择的编辑器编辑文件(我使用emacs):
emacs -nw data/pg_hba.conf更改访问限制:这里变得很棘手。如果您有一个postgres-安装要播放和开发(不是在生产中),您可以设置访问“信任”:
改变:
host all all 0.0.0.0/0 ident至:
host all all 0.0.0.0/0 trust但是,如果在生产中使用数据库,不会将其设置为信任!。相反,将其配置为检查密码/散列。
host all all 0.0.0.0/0 md5以下是一些可能会有所帮助的链接:
链接到文档
https://stackoverflow.com/questions/30293218
复制相似问题