Thanks very much, this was indeed the problem. That column was an array. I created it via GUI and was wondering why it did append a '[]' to the variable type, but didn't bother, because there was no other varchar available.
Cheers Andre PS: Weird though how few results turn up when running that through Google. On Thu, 31 Jan 2008, Steve Holden wrote: > Andre' John wrote: > > Hi > > > > I am trying to do this for a Postgresql database: > > > > conn = psycopg2.connect('host=localhost') > > cur = conn.cursor() > > cur.execute("SELECT * FROM names WHERE name=%s", ['S']) > > > > , which doesn't work, and neither does > > > > cur.execute("SELECT * FROM names WHERE name='%s'", ['S']) > > > > or > > > > cur.execute("SELECT * FROM names WHERE name='S'") > > > > work. > > I'm more inclined to believe the first two than the third, but I suppose if > you are telling the truth (House: "Patients always lie") then I am guessing > you have defined your table's "names" columns to be an array type. > > I haven't worked with those (since they don't confirm to the strict relational > model I prefer to work with), but I am guessing you might try > > > cur.execute("SELECT * FROM names WHERE name='%s'", (['S'], )) > > as this provides the necessary tuple as the second argument to execute, and > the on;y element of the tuple is a list of a single element. > > > It always returns: > > > > Traceback (most recent call last): > > > > File "<stdin>", line 1, in <module> > > > > psycopg2.ProgrammingError: array value must start with ?{½ or dimension > > information > > > > > > Though, when doing > > > > cur.execute("SELECT * FROM names") > > > > it works. > > I am totally helpless here. Does anyone have an idea? > > > If my suggestion doesn't work, you should probably let us know more about the > structure of your table. > > regards > Steve >
-- http://mail.python.org/mailman/listinfo/python-list