繁体   English   中英

在一个 psql 复制调用中将多个 csv 文件复制到 postgresql 表

[英]copy multiple csv files to postgresql tables in one psql copy call

使用 psql 实用程序副本将 csv 文件加载到我的 postgresql 数据库表,如下所示;

psql -h $host -p $port -d $db -U $username -c "\copy \"$schema\".\"$table\" from '$datafile' with delimiter as ',' csv"

这很好用。 但是,我需要同时加载很多文件。 我可以并行运行上面的 psql 复制命令。 由于每次调用都会启动一个新进程(我的应用程序是 do.net core 2.1 并且在 openshift 上运行),增加文件数量也会增加 memory 和 CPU。 处理时间也会增加。 我真正需要的是用多个 csv 文件调用 psql copy。 我需要在数据库上创建并行化,而不是在 openshift pod 上。
我怎样才能做到这一点? 如果这不可能,一次加载多个文件的最佳方法是什么?

谢谢

cat *.csv | psql -h $host -p $port -d $db -U $username -c "\copy \"$schema\".\"$table\" from STDIN with delimiter as ',' csv"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM