Форум сайта python.su
Здравствуйте.Задача стоит написать серверное приложение поиска по базе данных PostgreSQL.База данных создана ( по крайней мере pgadmin так выводит) модуль psycopg2 установлен.Пытаюсь подключится к базе данных вот таким вот образом
conn=psycopg2.connect(“dbname='mydb' user='root' host='localhost' password='123456'”);
но не выходит.Если вводить с консоли то выводит
OprationalError FATAL: отсутствует запись в pg_hba.conf для хоста “::1”, пользователя “root” , базы “mydb”, SSL выкл. Пожалуйста подскажите куда добавить эту запись.
и
OprationalError Traceback(most recent call last) /var/lib/pgsql/data/<ipython console> in <module>()
В pg_hba.conf у меня записано local all all trust.Помогите пожалуйста.
Офлайн
Артемlocal это для соединений через unix-сокеты, вам надо что то типа этого:
conn=psycopg2.connect(“dbname='mydb' user='root' host='localhost' password='123456'”);
В pg_hba.conf у меня записано local all all trust.Помогите пожалуйста.
Офлайн
Смог подключится к базе через такой запрос в консоли
conn=psycopg2.connect(“dbname='mydb' user='root' host='127.0.0.1' password='123456'”);
но в самом скрипте до сих пор не выходит.
Не знаю что и делать.Могу работать с базой через консоль, но скрипт упорно отказывается даже подключатся к базе.
Отредактировано (Ноя. 22, 2009 14:55:44)
Офлайн
АртемЧитать документацию.
Не знаю что и делать.
Офлайн
У меня в pg_hba.conf записана такая строчка host mydb root 127.0.0.1/32 password так же.И через консоль то есть вводя сначала ipython потом import psycopg2 и тд и тп у меня выходит соединится с бд, но если эти же команды записать в файл и попробовать его запустить то не выходит соединится.
Офлайн
Артемпокажите ошибку
У меня в pg_hba.conf записана такая строчка host mydb root 127.0.0.1/32 password так же.И через консоль то есть вводя сначала ipython потом import psycopg2 и тд и тп у меня выходит соединится с бд, но если эти же команды записать в файл и попробовать его запустить то не выходит соединится.
Офлайн
Использую вот такой скрипт и как понимаете постоянно вылазит вторая строчка.А ошибку я не знаю где даже посмотреть в логах вроде ничего интересного я не нашёл.((
#!/usr/bin/python2.6
#
# Small script to show PostgreSQL and Psycopg2 together
#
import psycopg2
try:
conn=psycopg2.connect(“dbname='mydb' user='root' host='localhost' password='123456'”);
except:
print “I am unable to connect to the database”
Офлайн
DS: RTFM-фобия.
RP: Учить основы языка. В первую очередь посмотреть на виды ловли исключений.
PS: Можно ещё ёжиков в тумане поискать.
Отредактировано (Ноя. 22, 2009 23:12:17)
Офлайн
Вроде бы выловил ошибку.
В переводе.Доступ отклонен.Запущен ли сервер на хосте “127.0.0.1” и принимает TCP/IP запросы по порту 5432.
Но pgadmin3 говорит что сервер запушен как раз на этом хосте и порт 5432.В чем может быть проблема?
Офлайн
Оно подсоединилось таким запросом через скрипт
conn=psycopg2.connect(“dbname='mydb' user='root' password='123456'”);
Но почему host не надо?
Спасибо всем огромное кто отвечал.
Офлайн