首页 > 解决方案 > Postgresql SELECT CURRENT_TIMESTAMP 不显示时区

问题描述

最初我有一个名为“created_at”的时间戳列,设置如下:

但是,我注意到插入新记录时“created_at”的值不包括尾随时区。

然后我试着跑

SELECT CURRENT_TIMESTAMP;

奇怪的是,它只返回(我复制粘贴下面的值)

2020-06-03 16:55:36.637892

在此处阅读本手册:

https://www.postgresql.org/docs/8.2/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

我希望在运行上述语句时也能获得时区信息。

我使用 Datagrip 作为我的 IDE 来执行上述操作。

有谁知道为什么?

标签: postgresqltimestamptimezonedatagriptimestamp-with-timezone

解决方案


连接时区的时间戳和 current_setting 为您提供预期值,您可以使用以下任何语法

SELECT CURRENT_TIMESTAMP|| ' ' ||current_setting('TIMEZONE');

SELECT now()|| ' ' ||current_setting('TIMEZONE');

您将获得您的时区的当前设置使用select current_setting('TIMEZONE');

这将为您提供所有时区,供您参考SELECT * FROM pg_timezone_names;


推荐阅读