After much experimentation, I found the following solution: commandString = "\\xA500046898000AC73D228B0B01800000000000000000000000000000000040003BF9" insert = "INSERT INTO profile_commands(command_id, profile_id, execution_order, command, command_type) VALUES(%s, %s, 0, %s, 1); " self.cur.execute(insert, (command_id, profileID, commandString,))
The 'key' to solving this was to add the \\x to the beginning of commandString. Thanks to all who pondered this Stacy ________________________________________ From: MRAB [pyt...@mrabarnett.plus.com] Sent: Friday, March 11, 2011 7:32 PM To: python-list@python.org Subject: Re: Inserting record into postgresql database On 11/03/2011 22:08, Meszaros, Stacy wrote: > Hello all, > > I am using python 2.6 and the psycopg2 module for the postgres connection > The following code is supposed to insert a record into a table with a bytea > field. (bytearray) > I am having difficulty getting to field inserted properly. The snippet below > inserts the first 8 bit hex value, which is 0xA5, correctly I believe - as > \245 > Not sure why, but the rest of the 'string' is not inserted into the db table. > Any ideas? > > commandString = > re.escape("A500046898000AC73D228B0B01800000000000000000000000000000000040003BF9") > insert = "INSERT INTO profile_commands(command_id, profile_id, > execution_order, command, command_type) VALUES(%s, %s, 0, %s, 1); " > self.cur.execute(insert, (command_id, profileID,commandString,)) > self.conn.commit() > > Thanks for any ideas you can give me > Stacy > Does this help? http://stackoverflow.com/questions/3103242/inserting-text-string-with-hex-into-postgresql-as-a-bytea -- http://mail.python.org/mailman/listinfo/python-list