Unless I miss something, cursor won't help here - it is to retrieve data, not to insert it.
I just need a missing feature of `plpy` to do COPY (actually doable, but from file).
Anyway, after normalizing my tables and removing constraints and indexes for the time of data loading, the current solution (COPY FROM file that is saved a moment before...) is enough.
Although, if there is any place I can post to make a "feature request" to add methods that would do postgres COPY in plpy, I would be thankful for pointing me that place.
Oh... I have copied stacktrace generated from Python script which connects to the db using psycopg2 driver, so that's where this misleading psycopg2 error came from...
About the list origin - I have to calculate a lot of stuff for each stock on stock exchange market. Each calculation requires quotes from the database - so to reduce io and not to fetch them everytime from Python, I've created a plpythonu function that calculates everything for each stock. As the results also have to stay in the database, I need to use the fastest possible method to insert a lot of data.
Another problem for those calculations would be parallelizing them somehow (I hope postgres clustering will do the work), but that's totally unrelated to the problem we are discussing now.