postgres,更改表的数据字段类型

postgres,更改表的数据字段类型

我正在使用 postgres,我有一个表,其中有一列的数据类型是没有时区的时间戳。

我想将数据类型更改为 bigint。我试图在列中存储自 1970 年以来的秒数。所以像 1397597908756 这样大的数字

当我将此数字存储在表中时,它会引发异常“时间戳类型输入语法无效:1397597908756

因此我尝试将数据类型从“无时区时间戳”更改为“bigint”。我执行了 ALTER TABLE 表名 ALTER COLUMN 列名 SET DATA TYPE bigint USING updated::bigint;

我收到以下错误:错误:无法将没有时区的时间戳类型转换为 bigint

答案1

ALTER TABLE 表名 ALTER COLUMN 列名 TYPE bigint USING extract(epoch from 列名);

应该按照你的要求做

相关内容