最近(2019-04-25年),巴西政府在全国范围内停止使用夏时制。
在我当前的项目中,我依赖于PostgreSQL根据来自不同时区和日期的时间进行时区转换和分析。
就我而言,PostgreSQL通过Olson数据库实现了夏时区。
( 1) PostgreSQL (例如,11版)是否与巴西新的无夏令时间规则保持一致?
2)如果没有更新,我该如何修复?在这种意义上,是否存在默认的PostgreSQL修补程序日历/时间表?
发布于 2019-07-08 21:11:31
是的,有时间表。它被记录在这里:https://www.postgresql.org/support/versioning/
如果需要,至少每三个月发布一次我们称之为“小版本”的安全补丁。有关次要发布计划的更多信息,您可以查看小版本路线图
目前(截至209-07-08年)的小规模发布路线图显示:
除非另有说明,这些释放的目标日期是2月、5月、8月和11月的第二个星期四。即将发布的新版本的当前时间表是: August * 2019 *11月7日,2019 *2月13日,2020
每个小版本将包括更新的DST规则,如果必要的话。
2019年至06-20年,Postgres 11的最后一次小版本为11.4 .我本以为它包含了巴西DST的新规则,但我在发布说明中找不到任何提到这一点的地方,比如11.3和11.2版本。
因此,最有可能的是,11.5 (定于8月8日)将包括在内。
如果你想得到开发者的权威回答,你应该在邮政邮寄名单上问这个问题。
Postgres 可以编译以一种使用操作系统时区数据的方式。您可以通过运行--with-system-tzdata检查Postgres版本是否使用pg_config选项进行编译。
发布于 2019-07-09 06:59:23
2019年-07-09年,我从
git log src/timezone/data/tzdata.zi修改时区数据的最新提交是d312de3fc092c784e743e58be4d1617cfb704b71:
将时区数据文件更新为tzdata发布版2019a。DST法律在巴勒斯坦和Metlakatla的变化。对以色列的历史修正。Etc/UCT现在是到Etc/UTC的向后兼容性链接,而不是一个单独的区域,它生成缩写"UCT",而现在这是一个典型的错误。Postgres仍然接受"UCT“作为输入区域的名称,但是它不会输出它。
现在,从2019年4月开始的巴西时区变化是在2019b发布的,从邮寄名单档案可以看出:
tz代码和数据的2019b版本是可用的。它反映了以下变化,这些变化要么在tz邮件列表上分发,要么是相对较小的技术或行政变更:简略地说: (中转站)--转制
结论是,最新的PostgreSQL小版本209-07-09不包括巴西最新的夏令时变化。
在这个更改已经生效的系统上,您必须构建PostgreSQL才能使用操作系统的时区数据。或者等待下一个次要的PostgreSQL发行版。
https://dba.stackexchange.com/questions/242391
复制相似问题