花时间从csv文件

时间:2017-03-05 12:27:22

标签: postgresql csv rdbms bulk-load

有没有办法确定Postgres从csv文件填充表格所花费的时间。我尝试使用'time'命令,但它没有用。

time copy TABLE_NAME from /home/ankit/Documents/file.csv delimiter ',' csv header ;

错误是: ERROR: syntax error at or near "time

我正在使用Ubuntu 16.04

2 个答案:

答案 0 :(得分:4)

这取决于您如何向Postgres提交查询。如果您在shell中使用psql命令行客户端,则可以在其之前添加time命令。例如,它将类似于以下内容:

time psql -c "copy TABLE_NAME from /home/ankit/Documents/file.csv delimiter ',' csv header ;"

您可能还需要在命令中添加连接参数。

如果你使用psql的另一种方法是使用以下命令,psql将打印每个查询花费的时间:

\timing

答案 1 :(得分:2)

应该有"创建"类型"没有时区的时间戳"在表中,您还可以在列定义屏幕中将默认值指定为now()。

然后,每个记录将使用创建的时间戳进行分配,无论是从csv加载还是通过任何其他方式创建。

或者在SQL中:

ALTER TABLE mytable ADD COLUMN created TIMESTAMP;
ALTER TABLE mytable ALTER COLUMN created SET DEFAULT now();