Django - (OperationalError) FATAL: ошибка аутентификации Ident для пользователя " имя пользователя"

Я написал простую модель sqlalchemy-django, в соответствии с этим руководством:http://lethain.com/replacing-django-s-orm-with-sqlalchemy/, который работал для меня довольно хорошо.
Мой Django подключен к удаленной базе данных postgresql, с этими настройками:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'wetlab_dev',                               # Or path to database file if using sqlite3.
    'USER': 'limlim',                                 # Not used with sqlite3.
    'PASSWORD': '',                                     # Not used with sqlite3.
    'HOST': 'cab-27',                                   # Set to empty string for localhost. Not used with sqlite3.
    'PORT': '',                                         # Set to empty string for default. Not used with sqlite3.
    }
}

он работал для меня несколько дней назад, но теперь, когда я пытаюсь загрузить "домашнюю страницу" снова, он показывает мне следующее сообщение об ошибке:

(OperationalError) FATAL:  Ident authentication failed for user "limlim"    

SQLAlchemy engine-конфигурация:

CONNECTION_STR = 'postgresql://limlim:@cab-27/wetlab_dev'

engine = sqlalchemy.create_engine(CONNECTION_STR)   

похоже, что я не изменил ничего, что связано с конфигурациями базы данных, но все же я получаю это сообщение об ошибке.
Кроме того, когда я пытаюсь подключиться к базе данных на удаленном сервере с моим именем пользователя, мне это удается, поэтому я думаю, что это не проблема разрешений для моего имени пользователя, чтобы добраться до этой базы данных.

что можно сделать, чтобы преодолеть эту ошибку?

2 ответов


код pg_hba.conf настроен на использование аутентификации "ident" для соединений с localhost (127.0.0.1). Вам нужно изменить его на md5 для вашей базы данных и комбинации пользователей.


для тех, кто не знает, где найти pg_hba.conf а где менять:

nano /var/lib/pgsql/data/pg_hba.conf

найдите эти строки и измените ident до md5:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident #change to md5
# IPv6 local connections:
host    all             all             ::1/128                 ident #change to md5

наконец перезапустить postgres:

sudo service postgresql restart