postgresql 带itersize的pycopg2游标一次返回一行

c3frrgcw  于 2023-02-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(137)

具有以下查询

con= psycopg2.connect(
    dbname=database,
    user=user,
    password=pwd,
    host=host,
    port=port
)
chunk_size = 100000 #500000 rows in the DB
cursor =  con.cursor(name='custom_cursor') 
cursor.itersize = chunk_size # chunk size
cursor.execute(query)
c=0
for row in cursor:
    print(c)
    print(f"Len_row: {len(row)}")
    c+=1

据我所知,row应该由chunk_size元素组成,但是len(row)1。由于我在DB中有500000行,所以我假设循环运行5次,但是c从0运行到行数,从0运行到4
注意:我运行的是psycopg2==2.8.6

f0ofjuux

f0ofjuux1#

是的,这就是它的工作原理。它一次从服务器获取100000个,然后一次给你一个。

相关问题