Я пытаюсь использовать psycopg2
, поскольку моя база данных postgresql, запущенная только на моей локальной машине, не может заставить ее возвращать результаты независимо от того, что я пытаюсь. Кажется, что соединение с базой данных нормально, так как, если я изменяю любой из параметров конфигурации, он вызывает ошибки, однако, когда я запускаю, казалось бы, корректный и заслуживающий достойных запросов, я ничего не получаю.
Мой db работает и определенно имеет в нем таблицу:
postgres=# \c
You are now connected to database "postgres" as user "postgres".
postgres=# select * from foos;
name | age
---------+-----
Sarah | 23
Michael | 35
Alice | 12
James | 20
John | 52
(5 rows)
Мой код python подключается к этой базе данных, но независимо от того, какой запрос я запускаю, я получаю None
:
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
>>> conn = psycopg2.connect("dbname='postgres' user='postgres' host='localhost'")
>>> cur = conn.cursor()
>>> print cur.execute("select * from foos;")
None
>>> print cur.execute("select * from foos")
None
>>> print cur.execute("select name from foos")
None
>>> print cur.execute("select f.name from foos f")
None
Я делаю что-то явно неправильно? Как я могу начать отлаживать это, я не знаю, с чего начать, так как он прекрасно соединяется?