Python psycopg2 – 处理大量数据

我试图从一个数据库(postgresql)的大型数据(15 B)转移到其他与docker上的python / psycopg2。 我的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_tocopy_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()