Pokud používáte psycopg2, pak budete chtít použít pojmenovaný kurzor, jinak se pokusí načíst celá data dotazu do paměti najednou.
cursor = conn.cursor("some_unique_name")
cursor.execute("SELECT aid FROM pgbench_accounts")
for record in cursor:
something(record)
To načte záznamy ze serveru v dávkách 2000 (výchozí hodnota itersize
) a poté je po jednom rozbalte do smyčky.