我需要從龍捲風的Postgres插入JSON數據,所以這裏是這樣的測試:psycopg2不是實際插入數據
from psycopg2 import connect
conn = connect("user='pguser' host='localhost' dbname='pgdb' password='pgpass'")
cursor = conn.cursor()
data = '[{"id":"sdf","name":"wqe","author":"vb"}]'
for row in eval(data):
print row
cursor.execute("""INSERT INTO books(id,name,author) VALUES('%s','%s','%s')""" % \
(row['id'], row['name'], row['author'])
)
>>> cursor.execute("SELECT * FROM books")
>>> cursor.fetchall()
[('sdf', 'wqe', 'vb')]
>>>
$> psql -d pgdb -U pguser -W
Password for user pguser:
psql (9.1.6)
Type "help" for help.
pgdb=> select * from books;
id | name | author
----+------+--------
(0 rows)
正如你可以在Python Shell做select
後看到,有一些數據,但在PSQL有 0行!我可能做錯了什麼?
Python 2.7.2+
授予數據庫pgdb上的所有特權給pguser;並改變hba.conf中的信任對象並沒有幫助 – juk
這兩個都試圖解決您沒有的問題。如果其中任何一個問題出現,您都會收到權限錯誤。 –