För att använda exekveringsmetoden placera data som ska infogas i en lista. En lista kommer att anpassas av psycopg2 till en array. Sedan avinstallerar du arrayen och castar värdena efter behov
import psycopg2
insert = """
insert into history ("timestamp")
select value
from unnest(%s) s(value timestamp)
returning *
;"""
data = [('2014-04-27 14:07:30.000000',), ('2014-04-27 14:07:35.000000',)]
conn = psycopg2.connect("host=localhost4 port=5432 dbname=cpn")
cursor = conn.cursor()
cursor.execute(insert, (data,))
print cursor.fetchall()
conn.commit()
conn.close()
Inte säker på om prestandaskillnaden från exekvering kommer att vara betydande. Men jag tycker att ovanstående är snyggare. Den returning
sats kommer, som namnet antyder, att returnera de infogade tuplarna.
BTW timestamp
är ett reserverat ord och bör inte användas som kolumnnamn.