Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2017 16:29:25

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Доброго времени суток!
Не знаю в какую ветку писать то ли в django то ли БД.
Чтобы не вдаваться в историю о том, что проект был на sqllite, а потом решили перевести на postgres, опущу и перейду к делу.

Была проинсталлирована БД postgres выданы логин, пароль, ip.
Был создан новый проект django. В инете полно мануалов как подключить. Были просмотрены если не все то большинство. Результат один ошибка “django.db.utils.OperationalError”
Подумал ладно возможно даже в новом проекте, что то не так, упростил до ввода двух команд в консоле:
>>>import psycopg2
>>> conn = psycopg2.connect(“dbname='db' user='user' host='указан IP' password='pass'”)
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “C:\Users\Администратор\source\repos\DjangoWebProject1\DjangoWebProject1\envTEST\lib\site-packages\psycopg2\__init__.py”, line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError
>>>
Программы администрирования типа pgAdmin цепляются с такими настройками на ура.
Подскажите, что не так, куда смотреть, где копать?
Спасибо!

Офлайн

#2 Сен. 6, 2017 17:26:46

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Bubalgum

 conn = psycopg2.connect(dbname="test", user="postgres", password="secret", host="host", port ="port")



Офлайн

#3 Сен. 6, 2017 18:09:56

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Понимаю, что раз ошибка в подключении и за подключение отвечает одна строка то проблема в ней.
Пробовал убирать все параметры “connect” и запускать смотреть на ошибку. Используя только dbname и user, выдал ошибку не указан ip. Добавил ip, выдал ошибку не указан пароль. Добавил пароль. Выдает ошибку описанную выше. т.е. пока не указаны правильно параметры, ругается на них. Как только прописываешь все параметры верно, появляется ошибка psycopg2.OperationalError. Порт, что указываешь, что не указываешь ни на что не влияет.
Учитывая, что здесь особо перебирать нечего, думаю, что ошибка связана либо с версионностью библиотеки и БД, либо с настройками самой БД.
Что нужно настроить обязательно в postgres для работы с django?

Офлайн

#4 Сен. 6, 2017 19:17:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Да ничего не надо настраивать, расскажите по шагам как устанавливали psycopg2



Офлайн

#5 Сен. 7, 2017 07:14:24

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

работаю в visual studio 2017.
Вкладка окружение python, в ней выбираю само окружение. В выпадающем меню выбрал “пакеты”. После выбора “пакеты” в строке поиска набрал psycopg2. Он нашел кучу где в названии есть psycopg2. Выбрал пакет просто psycopg2 без всего версии 2.7.3.1. Нажал установить. В окне вывода увидел pip instal psycopg2. После успешной установки. в разделе пакеты помимо django, pip появился еще и psycopg2.
И все.

Офлайн

#6 Сен. 7, 2017 08:13:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Bubalgum
Ох, не стал бы я доверять студии!
Вообще, с пакетами, зависящими от бинарников бывают всякие разные нюансы. Для винды есть инсталляторы, удалите все что уже наустанавливали через pip и попробуйте рекомендованный производителем способ установки http://www.stickpeople.com/projects/python/win-psycopg/

ПС: внимательно прочитайте то, что по ссылке, особенно в самом низу



Отредактировано FishHook (Сен. 7, 2017 08:15:00)

Офлайн

#7 Сен. 7, 2017 09:18:40

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Решил сделать так. Взял другую машину проинсталировал python, django, win-psycopg2.
в cmd запустил консоль python и там выполнил импорт psycopg2 и конект. Ошибка осталась.
Завел в БД другого пользователя и обнаружил если ошибиться или написать все, что хочешь в любом параметре то конект выдает ошибку. Он смотрит чтобы параметр был написан, а уж верны ли в нем данные его не касаются. единственный параметр на который он точно ругается это host если там указать неверный ip то он и выдает, что адрес указан не правильно, на все остальные параметры ему начихать.

Офлайн

#8 Сен. 7, 2017 10:15:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Ну собственно, на свежей виртуалке просто через pip установил psycopg2 и вроде все работает



постгреса у меня тут нет, но я думаю все бы сконнектилось



Офлайн

#9 Сен. 7, 2017 10:51:26

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

К сожалению не факт. У меня так же ругается если указываю неправильный ip или ip, но там где нет postgres.

Офлайн

#10 Сен. 7, 2017 11:12:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка подключения к postgres

Bubalgum
У меня так же ругается если указываю неправильный ip или ip, но там где нет postgres.
Что-то я вас перестал понимать. Не должно ругаться или что?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version