psycopg2 for insertion of binary data to PostgreSQL database
Peter Otten
__peter__ at web.de
Sat Aug 21 17:58:50 EDT 2010
Julia Jacobson wrote:
> 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?
Perhaps you need to conn.commit() your changes.
More information about the Python-list
mailing list