gpt4 book ai didi

postgresql - Postgres复制查询连接丢失错误

转载 作者:行者123 更新时间:2023-11-29 12:12:19 24 4
gpt4 key购买 nike

我正在尝试使用以下命令将大约 2 亿行 (3.5GB) 的数据批量加载到 Amazon RDS postgresql 数据库:

cat data.csv | psql -h<host>.rds.amazonaws.com -U<user> <db> -c "COPY table FROM STDIN  DELIMITER AS ','"

几分钟后我得到这个错误:

connection not open
connection to server was lost

如果我运行 head -n 100000000 data.csv 来发送前 100M 行而不是全部 200M,那么命令就会成功。我猜某处有超时导致完整数据集的查询失败。不过,我一直找不到任何超时设置或参数。

如何使批量插入对完整数据集成功?

最佳答案

当我阅读您正在使用的语句时,它基本上创建了一个巨大的字符串,然后连接到 SQL,然后它尝试将整个字符串作为参数提供。

如果你加载 psql 并运行类似 \copy ... from '/path/to/data.csv' ... 的东西,我想连接可能会在文件内容逐 block 流式传输。

这就是我的直觉,为什么 1000 万行有效(= 参数在连接超时之前完全推送)而不是整个文件(= 参数仍在上传)。

关于postgresql - Postgres复制查询连接丢失错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27199233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com