Python Psycopg2-插入大数据导致服务器意外关闭

Python Psycopg2-插入大数据导致服务器意外关闭,python,sql,psycopg2,Python,Sql,Psycopg2,我试着去看其他类似的问题,但是他们并没有给我想要的答案。我的主要目标是将一个大型数据集存储到谷歌云中。我试图将大约1000条insert语句存储到谷歌云,结果很顺利 另一方面,存储超过20万条insert语句比我想象的更具挑战性。在我的代码中,我有以下功能: def insert_to_gcloud(information): db = psycopg2.connect(database="database", user="user",

我试着去看其他类似的问题,但是他们并没有给我想要的答案。我的主要目标是将一个大型数据集存储到谷歌云中。我试图将大约1000条insert语句存储到谷歌云,结果很顺利

另一方面,存储超过20万条insert语句比我想象的更具挑战性。在我的代码中,我有以下功能:

def insert_to_gcloud(information):
    db = psycopg2.connect(database="database",
                          user="user",
                          password="password",
                          host="host",
                          port=1234)
    cur = db.cursor()
    cur.execute("".join(information))

    db.commit()
    db.close()
我使用批插入(假设更快),其中第一个索引包含insert语句和其余值。然后我使用“.join()将其转换为字符串。举个简单的例子:

在tbl_名称中插入(a、b、c)值(1,2,3)、(4,5,6)、(7,8,9)

起初,我试图执行200.000 insert语句,但大约1分钟后,我得到了一个关于EOF的错误。我想它太大了,无法发送,所以我创建了一个块函数。基本上,它根据需要将数组划分为适当的大小。()

然后使用简单的for循环一次存储每个块:

for i in range(len(chunk_block)):
    insert_to_gcloudd(chunk_block[i])
它似乎在工作,但我让它运行了一整晚,用了237分钟,我得到了以下信息:

psycopg2.OperationalError:服务器意外关闭了连接 这可能意味着服务器异常终止 在处理请求之前或期间

我的下一个测试是将区块块存储到文件中,读取并记录文件。如果服务器再次意外关闭,我可以检查日志。我想,在我看来,这不是一个好办法,但我在这里没有想法


那么对于我的问题,我有什么选择可以尝试吗?也许我还可以使用其他工具?尝试将
复制到未索引的临时表中,然后在感兴趣的表上插入联接。请参阅:尝试将
复制到未索引的临时表中,然后在感兴趣的表上插入联接。见:
for i in range(len(chunk_block)):
    insert_to_gcloudd(chunk_block[i])