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