有没有办法使用copy
命令批量数据导入和从网址读取数据。例如,copy
命令的语法如下:
COPY sample_table
FROM 'C:\tmp\sample_data.csv' DELIMITER ',' CSV HEADER;
我想要的不是提供本地路径而是提供网址。有什么办法吗?
答案 0 :(得分:9)
如果你有一个合适的命令行工具,它非常简单:
COPY sample_table FROM PROGRAM 'curl "http://www.example.com/file.csv"'
由于您似乎在Windows上,我认为您需要自己安装curl或wget。在Windows here上使用wget的示例可能很有用。
答案 1 :(得分:0)
我的解决方法是
cat $file |
tail -$numberLine |
sed 's/ / ,/g' |
psql -q -d $dataBaseName -c "COPY tableName FROM STDIN DELIMITER ','"
您可以在awk
和sed
之间插入psql
,以添加缺少的列。
有趣的是,如果您已经知道要在缺失列中添加什么内容。
awk '{print $0" , "'info_about_missing_column'"\n"}'
我已经做到了,它比INSERT
的工作速度更快。