Chcete-li použít metodu provádění, umístěte data, která mají být vložena, do seznamu. Seznam přizpůsobí psycopg2 poli. Poté pole zrušíte a přetypujete hodnoty podle potřeby
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()
Nejste si jisti, zda bude rozdíl ve výkonu od spouštění významný. Ale myslím, že výše uvedené je lepší. returning
klauzule vrátí, jak název napovídá, vložené n-tice.
BTW timestamp
je vyhrazené slovo a nemělo by se používat jako název sloupce.