对Postgresql数据库有什么影响?作业,日期列数据会受到影响吗?
答案 0 :(得分:1)
postgresql使用zoneinfo database进行时区计算。数据库的2016g版本于2周前发布,includes an update正确处理土耳其的情况。现在,您将不得不等待postgresql开发人员将最新版本的zoneinfo拉入postgresql,然后发布新版本。您可以查看postgres对土耳其时区的看法如下:
$ SET TIME ZONE 'Asia/Istanbul';
$ SELECT extract(timezone FROM '2016-06-01'::timestamptz), extract(timezone FROM '2016-12-01'::timestamptz);
date_part | date_part
-----------+-----------
10800 | 7200
(1 row)
正如你所看到的,在我的系统(postgresql 9.5.4)上,它仍然认为土耳其将在冬季转为+2偏移量。
答案 1 :(得分:0)
只要此更改到达IANA timezone library,它就会包含在PostgreSQL中,并包含下一个minor release。这发生在commit a03339aef2中,因此更改将在9.6.1,9.5.5,9.4.10,9.3.15,9.2.19和9.1.24中。
timestamp with time zone
类型的数据不会受到影响,因为它们会在内部存储在UTC中。如果您的客户时区设置为Turkey
或等效,则数据将以(新)正确的时区偏移显示。
类型timestamp without time zone
的数据将保持不变,因此在显示时它们不会自动转移到新的时区偏移。但无论如何,使用该数据类型几乎总是错误的。