在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"
答案 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)