Fre*_*edG 8 python csv import postgresql-9.1
我看到很多将CSV导入PostgreSQL数据库的例子,但我需要的是将500,000个CSV导入单个PostgreSQL数据库的有效方法.每个CSV有点超过500KB(总共大约272GB的数据).
CSV的格式相同,没有重复记录(数据是从原始数据源以编程方式生成的).我一直在寻找并将继续在线搜索选项,但我希望能以最有效的方式完成任务.我确实有一些Python的经验,但会深入研究其他合适的解决方案.
谢谢!
如果您从阅读PostgreSQL指南"填充数据库"开始,您将看到几条建议:
COPY,如果在所有可能的.PostgreSQL的COPY声明已经支持CSV格式:
COPY table (column1, column2, ...) FROM '/path/to/data.csv' WITH (FORMAT CSV)
Run Code Online (Sandbox Code Playgroud)
所以看起来你最好不要使用Python,或仅使用Python来生成所需的COPY语句序列.
你那里有很多不错的数据。我对 Postgre 不是 100% 确定,但至少 MySQL 提供了一些 SQL 命令,可以将 csv 直接输入到表中。这绕过了任何插入检查等,这就是为什么比任何普通插入操作快一个数量级以上的原因。
因此,最快的方法可能是创建一些简单的 python 脚本,告诉你的 postgre 服务器,哪些 csv 文件按什么顺序贪婪地吞噬它的无穷无尽的表。