postgresql – 为什么postgres使用时区的时间比带时区的时间戳多?

documentation日期/时间数据类型表示带时区的时间戳占用8个字节,而带时区的时间占用12个字节.它们都具有相同的分辨率(1微秒),从表面上看,带有时区的时间戳存储了更多信息.

谁能解释这种行为?

由于同一页面上解释的原因,我不打算将时间用于时区.

最佳答案
带时区的时间存储微秒(8字节)和时区(4字节).带有时区的时间戳只存储微秒并在显示时转换时区.由于具有时区类型的时间的概念怪异,需要明确存储时区.实际上,您实际上不需要8个字节来存储一天中的微秒数,但是4个字节是不够的.如果你真的想要,你可能会设计一个更紧凑的存储格式,适用于时区,但实际上没有人关心.

转载注明原文:postgresql – 为什么postgres使用时区的时间比带时区的时间戳多? - 代码日志