如何将印度时区添加到Postgresql?

4
我正在尝试找出将印度标准时间(+0530从UTC)添加到PostgreSQL(9.1)的最简单方法。
我尝试了愚蠢的方法,将其插入表中,但它不起作用。
insert into pg_timezone_abbrevs values('INDIA','05:30:00');
这个问题早在多年前就被其他人发现了,在旧邮件列表中进行谷歌搜索告诉我。但是没有找到简单的解决方案。
1个回答

7
重点提示:不要使用IST,那是以色列的时区,而不是印度的时区。请改用“Asia/Kolkata”。
Postgres文档对此描述模糊,但请注意查看:
SELECT name, abbrev, utc_offset, is_dst FROM pg_timezone_names;
将给出与以下内容不同的选项,不显示所有可用的时区。
SELECT abbrev, utc_offset, is_dst FROM pg_timezone_abbrevs;
编辑此文件没有任何效果,请不要费心。也许您需要手动更改另一个配置以包含它。
/usr/share/postgresql/9.1/timezonesets/Asia.txt

2
实际上,“IST”就是印度时间……以及以色列时间……和爱尔兰时间……或许还有其他的。这些3-4个字符的伪时区不是真正的时区,没有标准化,也不是唯一的(如此处所示)。避免使用这些伪时区。真正的时区命名格式为continent/region,例如Europe/ParisAsia/KolkataPacific/Auckland。请参阅:tz数据库时区列表 - Basil Bourque

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接