私は、このコードは、舞台裏でやっていることを理解しようとしています:PEP 249パーカーソルを反復処理するときにpsycopg2は何をしていますか?
import psycopg2
c = psycopg2.connect('db=some_db user=me').cursor()
c.execute('select * from some_table')
for row in c:
pass
私の理解はこれが繰り返しCursor.fetchone()
を呼び出すのと等価であるCursor.next()
を呼んでいたということでした。しかし、psycopg2
ドキュメントsay the following:データベースクエリを実行すると
、Psycopgカーソルは通常 クライアントプロセスに転送、バックエンドで返さ すべてのレコードをフェッチします。
私は混乱しています。上記のコードを実行すると、結果がサーバーに保存され、1つずつ取得されるのでしょうか、またはすべてを一度に持ち出すのでしょうか?