PostgreSQL支持时间戳到纳秒分辨率



我收到的数据的时间戳低至纳秒(我们实际上关心)。有没有办法让 Postgres 时间戳达到纳秒?

正如其他人所指出的,Postgres并没有提供开箱即用的这种类型。但是,由于 Postgres 的开源性质,创建支持纳秒分辨率的扩展相对简单。不久前我遇到了类似的问题,并为Postgres创建了这个timestamp9扩展。

它在内部将时间戳存储为 bigint,并将其定义为自 UNIX 纪元以来的纳秒数。它提供了一些方便的功能,可以轻松查看和操作时间戳。如果您可以忍受这些时间戳可以具有的有限时间范围,即 1970 年到 2262 年之间,那么这是一个很好的解决方案。

免责声明:我是扩展程序的作者

不,但您可以将时间戳修剪为毫秒,并将纳秒部分存储到单独的列中。您可以在两者上创建索引,并查看或函数以返回所需的纳秒时间戳,甚至可以在函数上创建索引。

一方面,记录的分辨率为1微秒。

另一方面,PostgreSQL是开源的。也许你可以把一些东西拼凑在一起来支持纳秒。

最新更新