在postgres中将timezone设置为'EEST'给我错误。为什么?

时间:2018-09-14 08:20:28

标签: postgresql timezone

在postgres中,我可以设置和读取时区:

dev=> set timezone to 'UTC';
SET
dev=> select current_setting( 'timezone' );
 current_setting 
-----------------
 UTC
(1 row)

EEST时区:

select exists( select 1 from pg_timezone_names where abbrev = 'EEST' );
 exists 
--------
 t
(1 row)

为什么我不能设置它?

dev=> set timezone to 'EEST';
ERROR:  invalid value for parameter "TimeZone": "EEST"

1 个答案:

答案 0 :(得分:0)

感谢<xocolatl>

该错误是因为在pg_timezone_names中没有名称为EEST的时区,但是在时区中则具有UTC名称:

select * from pg_timezone_names where name = 'UTC';
 name | abbrev | utc_offset | is_dst 
------+--------+------------+--------
 UTC  | UTC    | 00:00:00   | f
(1 row)