Python psycopg2 - 处理大数据

Python psycopg2 - Work with large data

我正在尝试使用 python/psycopg2 在 docker 上将一个大数据 (15 B) 从一个数据库 (postgresql) 传输到另一个数据库。我的 docker 有 4 GB 内存,内存不足。

我做错了什么?

cursor = conn.cursor()
cursor.execute('select * from schema.table')
for row in cursor:
   tp = tuple(map(lambda x: x.encode('utf-8'), row)
   cursor.execute('Insert into table2 values {}'.format(tp))
   conn.commit()

使用copy_to and copy_from

f = open('t.txt', 'wb')
conn = psycopg2.connect(database='source_db') 
cursor = conn.cursor() 
cursor.copy_to(f, 'source_table')
conn.close()
f.close()

f = open('t.txt', 'r')
conn = psycopg2.connect(database='target_db') 
cursor = conn.cursor() 
cursor.copy_from(f, 'target_table')
conn.close()
f.close()