在TimescaleDB中保存Javascript Date.now()毫秒时间戳

在TimescaleDB中保存Javascript Date.now()毫秒时间戳,javascript,sequelize.js,timescaledb,Javascript,Sequelize.js,Timescaledb,我正在尝试将从Javascript的Date.now()生成的unix时间戳以毫秒精度存储到名为timestamp的列下的TimescaleDB表Data,类型为int8,或DataTypes.BIGINT,使用Javascript库Sequelize 问题1:建议使用int8/BIGINT类型来存储毫秒级unix时间戳吗 问题2:当我尝试使用以下方法创建TimescaleDB超表格时: SELECT create_hypertable('"Data"', 'timestamp', chunk_

我正在尝试将从Javascript的
Date.now()
生成的unix时间戳以毫秒精度存储到名为
timestamp
的列下的TimescaleDB表
Data
,类型为
int8
,或
DataTypes.BIGINT
,使用Javascript库
Sequelize

问题1:建议使用
int8
/
BIGINT
类型来存储毫秒级unix时间戳吗

问题2:当我尝试使用以下方法创建TimescaleDB超表格时:

SELECT create_hypertable('"Data"', 'timestamp', chunk_time_interval => interval '1 day');
我收到了错误信息

错误:无效的间隔:对于整数维度,间隔必须是整数类型 ,时间:0.006000秒

这是因为
间隔“1天”
不能与整数类型的列一起使用,而只能用于时间戳和日期类型吗?

(此处为时间标尺)

  • 我们建议尽可能使用本机timestamptz(带时区的时间戳)或时间戳格式,而不是整数。它的精度为微秒,并且更易于使用时区转换、使用时间戳的查询、now()等。一次不可能达到纳秒精度(需要一个bigint),但这不适用于这里

  • 您在使用整数时间戳(而不是时间戳类型)时已经遇到问题。您正在将
    chunk\u time\u interval
    设置为间隔类型,但您的列是整数。问题是我们不知道你的整数是否代表纳秒、秒、小时等,所以你不能使用像“1天”这样的人类可读的东西。在本例中,如果时间列为毫秒,则需要指定86400000

  • 但一般来说,如果可能的话,我们建议使用timestamptz类型。

    (这里是Timescaler)

  • 我们建议尽可能使用本机timestamptz(带时区的时间戳)或时间戳格式,而不是整数。它的精度为微秒,并且更易于使用时区转换、使用时间戳的查询、now()等。一次不可能达到纳秒精度(需要一个bigint),但这不适用于这里

  • 您在使用整数时间戳(而不是时间戳类型)时已经遇到问题。您正在将
    chunk\u time\u interval
    设置为间隔类型,但您的列是整数。问题是我们不知道你的整数是否代表纳秒、秒、小时等,所以你不能使用像“1天”这样的人类可读的东西。在本例中,如果时间列为毫秒,则需要指定86400000

  • 但一般来说,如果可能的话,我们建议使用timestamptz类型