Ако използвате psycopg2, тогава ще искате да използвате наименуван курсор, в противен случай той ще се опита да прочете всички данни на заявката в паметта наведнъж.
cursor = conn.cursor("some_unique_name")
cursor.execute("SELECT aid FROM pgbench_accounts")
for record in cursor:
something(record)
Това ще извлече записите от сървъра на партиди от 2000 (стойност по подразбиране на itersize
) и след това ги разпределете към цикъла един по един.