Postgresql 谁负责更新pg_时区_名称视图?

Postgresql 谁负责更新pg_时区_名称视图?,postgresql,timezone,windows-server-2008,postgresql-9.3,Postgresql,Timezone,Windows Server 2008,Postgresql 9.3,2007年,我们的总裁将其从UTC更改为UTC−04:00至UTC−04:30因为孩子们上学很早。现在,在2016年决定晚上很早到达,并恢复到UTC−04:00为了节约电力 那么,您如何保持表pg\u时区\u名称的更新?是否有一个脚本我可以使用,一个服务我可以链接到我的服务器 还是每次我听到有什么变化就得自己更新表格 EDIT:我刚刚意识到pg\u timezone\u names是一个视图而不是一个表。现在传统的问题是如何更新视图 第二次编辑:我使用windows server 2008和p

2007年,我们的总裁将其从UTC更改为
UTC−04:00
UTC−04:30
因为孩子们上学很早。现在,在2016年决定晚上很早到达,并恢复到
UTC−04:00
为了节约电力

那么,您如何保持表
pg\u时区\u名称的更新?是否有一个脚本我可以使用,一个服务我可以链接到我的服务器

还是每次我听到有什么变化就得自己更新表格

EDIT:我刚刚意识到
pg\u timezone\u names
是一个视图而不是一个表。现在传统的问题是如何更新视图


第二次编辑:我使用windows server 2008和postgres 9.3

您提到的委内瑞拉的更改在版本2016d中处理。您可以阅读2016d发行说明

Postgres将这些更新编译到Postgres的每个发布版本中。您可以查看Postgres时区版本历史记录。从这些信息中,您可以看到2016年5月6日,2016年d的数据被添加到Postgres源代码中。这意味着在此之后发布的任何版本的Postgres都应该有相应的时区更改

在上的右上角,可以看到最新的发布版本。如果您希望继续使用9.3,请更新至2016-05-12发布的最新版本9.3.13。事实上,在本书中,它提到了这一点:

  • 将时区数据文件更新至tzdata发布2016d,以了解俄罗斯和委内瑞拉的DST法律变更
请注意,Postgres提供了一个选项
——使用system tzdata=DIRECTORY
,您可以使用该选项来使用OS tzdata更新保持最新状态,但是它希望找到zic编译的tzdata,例如随Linux、OSX等分发的tzdata。此数据在Windows上不可用此格式。因此,您必须使用Postgres附带的tzdata

那么,如何更新表pg_时区_名称呢?是否有一个脚本我可以使用,一个服务我可以链接到我的服务器

不,在Windows上没有自动执行此操作的方法(我知道)。你必须随时更新Postgres的最新版本。在Linux上,您可以自动更新tzdata并使用我前面提到的选项标志

或者只是自己更新表格

请勿尝试手动操作时区数据。这比你想象的要复杂得多

。。。每次我听到有什么变化

如果您想了解时区数据更新,请订阅tz公告邮件列表


您也可以考虑订阅。同时也要记住,因为小的更新最终会到达生命的尽头,你必须进行更大的升级以保持最新状态。

更简单的解决方案是消除/否决任何认为扰乱时区是个好主意的政客。@MarcB相信我,我们正在尝试这样做。你不会更新视图。您需要更新视图正在查询的基础表。如果这是PG中的某些内容,那么很容易做到。如果它以某种方式从外部文件中提取数据,则必须更新该文件。@Abelisto-Postgres不使用Windows时区数据。它将IANA tz数据编译成其来源,并与Postgres一起分发。您可以通过参数在linux上使用OS tzdata,但不能在Windows上使用。看看我的答案。@MarcB-我想你是在开玩笑,但为了以防万一,请注意,你必须投票淘汰成千上万的人,从高级总统、内阁、国会议员和议会官员,到低级市政管理人员。当然,他们会被替换。这是一个相当复杂的政治问题。我在《谢谢马特》中提到了一些。我在跳我只需要更新一个文本文件。但看起来我应该计划升级。也许这应该是它自己的问题,但我很困惑,不知道该问谁或在哪里。当我看pg_时区_名称时,我会看到一条“America/Los_Angeles”的记录,其中包含缩写“PDT”。但我们知道,“美国/洛杉矶”在秋天会变成“PST”。Postgres是否会自动处理这一变化,还是需要每年运行两次?我想这就解释了,但它仍然不完全清楚:@iJames-是的,这应该是它自己的问题,但也只是阅读你链接到的页面上的文本-它准确地解释了你在问什么。