估计/打印csv COPY状态到postgresql表

时间:2017-11-01 20:25:24

标签: postgresql copy psql

我想知道将csv复制到postgresql表需要多长时间。有没有办法打印以合理方式复制的行,还是有其他方式以某种方式显示副本的进度?

也许有一个冗长的设置或我应该使用--echo或-qecho

我正在使用: psql -U postgres -d nyc_data -h localhost -c "\COPY rides FROM nyc_data_rides.csv CSV"

3 个答案:

答案 0 :(得分:1)

不幸的是没有这样的事情。

一个想法是将输入分成1000或10000行的块,然后逐个导入。这不会大大减慢处理速度,您可以快速估算整个导入过程需要多长时间。

答案 1 :(得分:0)

正如劳伦兹·阿尔贝(Laurenz Albe)所说,无法衡量完成整个过程还有多少时间。但是,我今天要做的一个很好的估算是:

  • 在我的Linux中启动“监控系统”
  • 在此应用程序中,有一个计数器,自启动此应用程序以来,已上传了多少数据
  • 使用我要上传的文件的大小,我可以很好地预测要发送给服务器的数据量。

答案 2 :(得分:0)

使用光伏工具

pv /tmp/some_table.csv | sudo -u postgres psql -d some_db -c "copy some_table from stdin delimiter ',' null '';"

结果,它将显示

1.42GiB 0:11:42 [2.06MiB/s] [===================================================================================================================================================================>] 100%