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

时间:2017-01-06 20:57:38

标签: postgresql

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

3 个答案:

答案 0 :(得分:2)

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

它在内部将时间戳记存储为bigint,并将其定义为自UNIX时代以来的纳秒数。它提供了一些便利的功能,使查看和操作时间戳变得容易。如果您可以忍受这些时间戳记所具有的有限时间范围(在1970年和2262年之间),那么这是一个很好的解决方案。

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

答案 1 :(得分:1)

一方面,documented resolution是1微秒。

另一方面,PostgreSQL是开源的。也许你可以破解一些东西以支持纳秒。

答案 2 :(得分:1)

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