Найти - Пользователи
Полная версия: PostgreSQL + Django
Начало » Базы данных » PostgreSQL + Django
1
onetwo
Вот тут сказано чтоб посмотреть правильность настройки с БД, нужно ввести:

>>> from django.db import connection
>>> cursor = connection.cursor()
и ничего не должно произойти. у меня же ошибка:

>>> from django.db import connection
>>> cursor = connection.cursor()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/__init__.py", line 81, in cursor
cursor = self._cursor()
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 98, in _cursor
self.connection = Database.connect(**conn_params)
OperationalError: FATAL: Ident authentication failed for user "nr_user"
Создавал юзера и базу так:

sudo su postgres
createuser -W nr_user
jkz
createdb -O nr_user nr_db

settings
DATABASE_ENGINE = 'postgresql_psycopg2'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'nr_db' # Or path to database file if using sqlite3.
DATABASE_USER = 'nr_user' # Not used with sqlite3.
DATABASE_PASSWORD = 'jkz' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '5432' # Set to empty string for default. Not used with sqlite3.
pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local all all trust

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
подскажите плз в чем проблема.
rokki
onetwo
Вот тут сказано чтоб посмотреть правильность настройки с БД, нужно ввести:

>>> from django.db import connection
>>> cursor = connection.cursor()
и ничего не должно произойти. у меня же ошибка:

>>> from django.db import connection
>>> cursor = connection.cursor()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/__init__.py", line 81, in cursor
cursor = self._cursor()
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 98, in _cursor
self.connection = Database.connect(**conn_params)
OperationalError: FATAL: Ident authentication failed for user "nr_user"
в settings.py стоит пользователь nr_user,а в postgres какой пользователь?базы?наверно там стоит postgres,надо тоже изменить на nr_user и тогда подключаться
onetwo
таки да, спасибо.
afinik
Господа, у меня та же беда.

settings.py
DATABASES = {
...
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'postgres', # Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': 'pswd', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
...
В терминале Ubuntu 10.04 вбиваю и получаю:

python Загрузки/Django-1.2.1/mysite/manage.py shell
>>> from django.db import connection
>>> cursor = connection.cursor()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/__init__.py", line 75, in cursor
cursor = self._cursor()
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 136, in _cursor
self.connection = Database.connect(**conn_params)
OperationalError: FATAL: Ident authentication failed for user "postgres"
Подскажите, пожалуйста, что я сделал не так.
ZZZ
Ну блин, почитай доку на тему “Ident authentication”.
В данном случае скорее всего будет достаточно указать хост и порт явно, чтобы он не через unix socket коннектился.
afinik
ZZZ
Ну блин, почитай доку на тему “Ident authentication”.
В данном случае скорее всего будет достаточно указать хост и порт явно, чтобы он не через unix socket коннектился.
Ок. Спасибо.
Сорри, я совсем ночичок и, соответственно, даже о существовании этого мануала не знал. Гугл обыскал на английском - как-то про хост и порт там не говорилось. Говорилось, что надо заменить “ident” на “password”, но не помогло. Ща почитаю.

Т.е. хочешь сказать, что надо “localhost” в settings.py указать и порт “5432”?
PooH
Для разработки я обычно ставлю
host all all 127.0.0.1/32 trust
А вообще про настройку смотрите http://www.postgresql.org/docs/8.1/interactive/client-authentication.html
afinik
ZZZ
Ну блин, почитай доку на тему “Ident authentication”.
В данном случае скорее всего будет достаточно указать хост и порт явно, чтобы он не через unix socket коннектился.
Прописал порт “5432” и помогло. Выглядит вот так все теперь.

‘HOST’: ‘localhost’, # Set to empty string for localhost. Not used with sqlite3.
‘PORT’: ‘5432’, # Set to empty string for default. Not used with sqlite3.

Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB