用 PostgreSQL 的 COPY 导入导出 CSV
TL;DR无意中看到了一篇讲 数据批量导入 的文章,才注意到 PostgreSQL 的 导出 CSV以前做类似的事情都是用程序语言写,比如用程序读取数据库的数据,然后用 CSV 模块写入文件,当数据量大的时候还要控制不要一次读太多,比如一次读 5000 条,处理完再读 5000 条之类。 PostgreSQL 的 COPY products TO '/path/to/output.csv' WITH csv; 可以导出指定的属性: COPY products (name,price) TO '/path/to/output.csv' WITH csv; 也可以配合查询语句,比如最常见的 COPY ( SELECT name,category_name FROM products LEFT JOIN categories ON categories.id = products.category_id ) TO '/path/to/output.csv' WITH csv; 导入 CSV跟上面的导出差不多,只是把 COPY products FROM '/path/to/input.csv' WITH csv; 这个命令做导入是非常高效的,在开头那篇博客作者的测试中, 总结
参考资料Friends Don’t Let Friends Use Loops (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |