PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Streaming von Daten von Postgres in Python

Wenn Sie psycopg2 verwenden, sollten Sie einen benannten Cursor verwenden, da sonst versucht wird, die gesamten Abfragedaten auf einmal in den Speicher zu lesen.

cursor = conn.cursor("some_unique_name")
cursor.execute("SELECT aid FROM pgbench_accounts")
for record in cursor:
    something(record)

Dadurch werden die Datensätze vom Server in Stapeln von 2000 abgerufen (Standardwert von itersize ) und sie dann einzeln an die Schleife weitergeben.