使用Unix时间戳值将CSV数据复制到Postgres

时间:2016-05-20 09:21:24

标签: postgresql

如何将包含unix时间戳值的CSV文件复制到Postgres中并不是很清楚。例如,假设我有一个如下所示的CSV文件:

timestamp, column_1, column_2, column_3
1439935260;"A";"B";"C"
1439935261;"A";"B";"C"
1439935262;"A";"B";"C"

我还有一个包含以下列的数据库:

timestamp    | timestamp without time zone | 
column_1     | character varying(40)       | 
column_2     | timestamp without time zone | 
column_3     | timestamp without time zone |

我希望命令

\copy my_table FROM 'my_file.csv' DELIMITER ';' CSV HEADER;

工作,但事实并非如此。您会收到错误

  

错误:日期/时间字段值超出范围:“1439935260”

将带有unix时间戳值的CSV文件复制到表中的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

查看我对数据库管理员的回答,

我建议

  1. 如果表格是abstime,则表格类型为ALTER
  2. 然后在您完成更改类型时在表格上运行{{1}}语句。