小编J. *_*hoi的帖子

PostgreSQL内部如何存储时间戳?

对于MySQL来说,

TIMESTAMP 值存储为自纪元 ('1970-01-01 00:00:00' UTC) 以来的秒数`

PostgreSQL 版本小于或等于9.6时

时间戳值存储为午夜 2000-01-01 之前或之后的秒数

对于版本大于或等于 10 的PostgreSQL ,没有对此的解释

我有两个关于PostgreSQL内部逻辑的问题。

  1. 仍然使用9.6版本相同的标准吗?
  2. 为什么是“2000年1月1日午夜”?Unix 纪元从 开始 1970-01-01 00:00:00 UTC。J2000纪元从 开始 12 noon (midday) on January 1, 2000

似乎只有少数系统使用2000-01-01 00:00:00

由于 PostgreSQL 提供了将 UNIX 纪元转换为时间戳的函数to_timestamp,反之亦然EXTRACT(EPOCH FROM ...),因此使用与 UNIX 纪元不同的标准似乎需要额外的偏移计算。

postgresql timestamp

7
推荐指数
1
解决办法
1595
查看次数

标签 统计

postgresql ×1

timestamp ×1