PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mogę używać kursorów po stronie serwera z django i psycopg2?

Jak wspomniałeś w swoim pytaniu, powtórzę tutaj dla przyszłych czytelników:możliwe jest również użycie jawnie nazwanych kursorów bez omijania publicznego API Django:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopia zapasowa i odzyskiwanie PostgreSQL 9.0

  2. Cloud SQL Postgres Nie znaleziono odpowiedniego sterownika dla jdbc:postgres://google/

  3. Przywróć usunięte rekordy w PostgreSQL

  4. WSTAW w jednym zapytaniu do 2 tabel postgresql

  5. Tworzenie użytkownika PostgreSQL i dodawanie go do bazy danych