sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan kan jeg bruge server-side cursorer med django og psycopg2?

Som du nævner i dit spørgsmål, men jeg vil gentage her for fremtidige læsere:det er også muligt at bruge eksplicit navngivne markører uden at omgå Djangos offentlige API:

from django.db import connection, transaction

with transaction.atomic(), connection.cursor() as cur:
    cur.execute("""
        DECLARE mycursor CURSOR FOR
        SELECT *
        FROM giant_table
    """)
    while True:
        cur.execute("FETCH 1000 FROM mycursor")
        chunk = cur.fetchall()
        if not chunk:
            break
        for row in chunk:
            process_row(row)


  1. Hvorfor i alverden skulle jeg have_mange forhold?

  2. PDO bindParam() med flere navngivne parametre

  3. DELETE LIMIT for flere borde

  4. Mysql-forbindelse Tomcat 7 på Openshift