我很难理解
这里有一个
示例 SQLs:
有什么提示吗?有没有相关文档记录?
"AT TIME ZONE 'localtime'"
的确切工作方式。通过尝试,我发现它的作用与"AT TIME ZONE 'UTC'"
完全相同...但是为什么呢?在 postgres 中,"localtime"
是"UTC"
的同义词吗?还是来自某些设置(环境?连接时区?虽然都已检查过,但似乎它们之间没有关联)...这里有一个
"localtime"
函数,但我认为它与此无关。示例 SQLs:
# date
Thu Dec 8 12:00:05 AEDT 2016
# SELECT LOCALTIMESTAMP;
----------------------------
2016-12-08 01:13:29.444725
# SELECT LOCALTIMESTAMP AT TIME ZONE 'America/New_York';
-------------------------------
2016-12-08 06:08:31.183103+00
# SELECT LOCALTIMESTAMP AT TIME ZONE'localtime';
------------------------------
2016-12-08 01:09:25.294063+00
# SELECT LOCALTIMESTAMP AT TIME ZONE 'utc';
-------------------------------
2016-12-08 01:09:44.32587+00 -- SAME AS ABOVE
# SET TIME ZONE 'America/New_York';
# SELECT LOCALTIMESTAMP;
----------------------------
2016-12-07 20:13:34.924647
# SELECT LOCALTIMESTAMP AT TIME ZONE 'localtime';
------------------------------
2016-12-07 15:10:08.188197-05
# SELECT LOCALTIMESTAMP AT TIME ZONE 'utc';
------------------------------
2016-12-07 15:10:44.88332-05 -- SAME AS ABOVE
有什么提示吗?有没有相关文档记录?
SET TIME ZONE
之前通过SHOW timezone
获得的内容。您是否有非默认的timezone_abbreviations
设置? - Erwin Brandstetter