psycopg2 for insertion of binary data to PostgreSQL database

Julia Jacobson julia.jacobson at arcor.de
Sat Aug 21 16:58:00 EDT 2010


Hello everybody out there using python,

For the insertion of pictures into my PostgreSQL database [with table 
foo created by SQL command "CREATE TABLE foo (bmp BYTEA)], I've written 
the following script:

#!/usr/bin/python
import psycopg2
try:
     conn = psycopg2.connect("dbname='postgres' user='postgres' 
host='localhost' password='data'");
except:
     print "I am unable to connect to the database"
cur = conn.cursor()
f = open("test.bmp", 'rb')
myfile = f.read()
try:
     cur.execute("INSERT INTO foo VALUES (%s)",(buffer(myfile),))
except:
     print "Insert unsuccessful"

"python script.py" runs the script without any errors or messages.
However, the SQL command "SELECT * FROM foo"  returns the output "foo (0 
rows)" with no entries in the table.
I'm using Python 2.7 and PostgreSQL 8.3.
Could anyone help me to find a way to pin down the problem?

Thanks in advance,
Julia



More information about the Python-list mailing list