Nyx*_*nyx 1 javascript sequelize.js timescaledb
我试图将 Javascript 生成的毫秒精度的 unix 时间戳存储Date.now()到 TimescaleDB 表中Data名为timestamptype的列下int8,或者DataTypes.BIGINT在使用 Javascript library 时Sequelize。
问题1:是int8/BIGINT推荐的类型来存储毫秒UNIX在时间戳?
问题 2:当我尝试使用以下方法创建 TimescaleDB 超表时:
SELECT create_hypertable('"Data"', 'timestamp', chunk_time_interval => interval '1 day');
Run Code Online (Sandbox Code Playgroud)
我收到错误消息
错误:无效间隔:整数维度必须是整数类型,时间:0.006000s
这是因为interval '1 day'不能与整数类型的列一起使用,而只能用于时间戳和日期类型吗?
(此处为时间标尺)
我们建议尽可能使用本机时间戳(带时区的时间戳)或时间戳格式,而不是整数。它是微秒精度,并且更容易与时区转换、使用时间戳的查询、now() 等一起使用。有一次这是不可能的,这是纳秒精度(需要一个 bigint),但这不适用于这里。
您在使用整数时间戳(而不是时间戳类型)时已经遇到问题。您设置chunk_time_interval为间隔类型,但您的列是整数。问题是我们不知道您的整数是否代表纳秒、秒、小时等,因此您不能使用诸如“1 天”之类的人类可读的东西。在这种情况下,如果您的时间列是毫秒,则需要指定 86400000。
但总的来说,如果可能的话,建议使用 timestamptz 类型。
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |