postgres:使用COPY从CSV文件读取时,指定时间戳记为UTC

时间:2018-08-13 21:38:36

标签: postgresql csv timezone

我有一个csv文件,我想将其复制到postgres数据库中的表中

psql -h ${HOST} -U ${USER} -d db 
     -c "COPY MSFT(time,size,price) FROM 'MSFT.csv' DELIMITER ',' CSV";

csv文件中的时间戳记为UTC。

$ head -1 MSFT.csv
2016-01-05T15:04:47.275829840Z,10,52.33

但是,从csv文件复制时间戳时,psql使用我的本地时区(EST)。

db=# SHOW timezone;
 TimeZone 
----------
 EST
(1 row)

db=# select * from msft limit 1;
             time              | size | price 
-------------------------------+------+-------
 2016-01-15 15:03:13.214963-05 |   10 | 52.33
(1 row)

尝试显示为UTC:

db=# select time at time zone 'UTC', size, price from msft limit 1;
          timezone          | size | price 
----------------------------+------+-------
 2016-01-15 20:03:13.214963 |   10 | 52.33
(1 row)

如何告诉postgres我的csv文件中的时间戳记是UTC,而不是EST?

0 个答案:

没有答案