Angenommen, ich habe nur 1 GB Arbeitsspeicher und 1 TB Festplattenspeicher.Psycopg2 cursor.execute gibt einen Generator zurück
Dies ist mein Code und ich verwende eine Postgres-Datenbank.
import psycopg2
try:
db = psycopg2.connect("database parameters")
conn = db.cursor()
conn.execute(query)
#At this point, i am running
for row in conn:
für diesen Fall, ich denke, es ist sicher, dass die Anschl zu übernehmen ist ein Generator, wie ich nicht eine definitive Antwort scheine, online zu finden, und ich kann es auf meiner Umgebung nicht versuchen, wie ich das System zum Absturz nicht leisten kann.
Ich erwarte diese Abfrage, um Daten von mehr als 100 GB
ich verwende Python 2.7 und psycopg2 Bibliothek
Warum eine Abfrage nicht schreiben, die nur ein Ergebnis und versuchen, '(isinstance (gen, types.GeneratorType)' gemäß [diese Antwort] gibt (http://stackoverflow.com/questions/6416538/how-to-check -if-ein-Objekt-ist-ein-Generator-Objekt-in-Python)? Das sollte Ihnen sofort sagen, wenn 'conn.execute()' einen Generator zurückgibt. –