Jika Anda menggunakan psycopg2, maka Anda akan ingin menggunakan kursor bernama, jika tidak, ia akan mencoba membaca seluruh data kueri ke dalam memori sekaligus.
cursor = conn.cursor("some_unique_name")
cursor.execute("SELECT aid FROM pgbench_accounts")
for record in cursor:
something(record)
Ini akan mengambil catatan dari server dalam batch 2000 (nilai default itersize
) dan kemudian membaginya ke loop satu per satu.