来自文档https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-DATETIME-INPUT-TIME-STAMPS
TIMESTAMP '2004-10-19 10:23:54+02' 是带有时区的时间戳
问:为什么select pg_typeof(TIMESTAMP '2004-10-19 10:23:54+02');
会出现这种情况timestamp without time zone
?timestamp with time zone
正如文档所述。
Postgres 版本
SELECT version();
节目
PostgreSQL 14.14 (Debian 14.14-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
正如您链接到的文档中所说:
timestamp
意思是。这就是你明确使用的类型,这就是你之后重复的内容。timestamp
withOUT
time zone
pg_typeof()
timestampTZ
意思是。这就是你想要的,也是真正的。db <>fiddle 上的演示timestamp
with
time zone
pg_types.typname
如果您要求 Postgres 澄清以下问题,它总能做出解释
explain verbose
: