Inserting record into postgresql database

Meszaros, Stacy stacy at sensorswitch.com
Mon Mar 14 10:28:28 EDT 2011


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 [python at mrabarnett.plus.com]
Sent: Friday, March 11, 2011 7:32 PM
To: python-list at 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




More information about the Python-list mailing list