Passinf field name

Graeme Gemmill <[email protected]> Sat, 3 Nov 2018 17:40:53 +0000
Newsgroups gmane.comp.db.postgresql.sql
Message-ID <[email protected]>
Help please: Trying to construct a query where a field name has to be 
passed.

Database wbdata has a field “date timestamp with timezone”.

cursor.execute("SELECT * FROM wbdata ORDER BY date;")

works.

cursor.execute("SELECT * FROM wbdata WHERE date > %s", (starttime,))

works.

I read in your FAQs that I have to use psycopg2.sql to pass a field name 
into the query, so to select a subset of wbdata where date is > 
startdate and the output is sorted by date, I tried

cursor.execute(

sql.SQL("SELECT * FROM wbdata ORDER BY %s WHERE date > %%s" % 
[sql.Identifier("date")], [starttime]))


which gives me an error:

TypeError: __init__() takes 2 positional arguments but 3 were given

What is a correct formulation please?

Thank you