За да използвате метода за изпълнение, поставете данните за вмъкване в списък. Списъкът ще бъде адаптиран от psycopg2 към масив. След това разглобявате масива и прехвърляте стойностите според нуждите
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()
Не съм сигурен дали разликата в производителността от executemany ще бъде значителна. Но мисля, че горното е по-изпипано. returning
клауза, както подсказва името, ще върне вмъкнатите кортежи.
Между другото timestamp
е запазена дума и не трябва да се използва като име на колона.