如何更新postgresql的heroku时区?

时间:2016-05-10 14:55:41

标签: postgresql heroku

委内瑞拉的时区最近从-4:30更改为-4:00,我有一个在生产中运行的应用程序因此行为错误,我发现问题是postgresql在运行后已经过时的时区这个命令:

DATABASE=> SELECT utc_offset FROM pg_timezone_names WHERE name = 'America/Caracas';
 utc_offset 
------------
 -04:30:00
(1 row)

正在运行g_config --configure我设置了此选项:--with-system-tzdata=/usr/share/zoneinfo

这是一个生产环境,所以我不能丢失数据。如何在heroku postgresql中更新这些时区?

1 个答案:

答案 0 :(得分:0)

我通过删除postgresql插件并将其添加回来更新了这些时区。

首先,我启用了维护模式并创建了备份:

heroku maintenance:on
heroku pg:backups capture

然后我从heroku中删除了postgresql插件并将其添加回来,然后我恢复了该备份:

heroku pg:backups restore b001 DATABASE_URL
heroku maintenance:off

现在时区已正确更新:

billshl::DATABASE=> SELECT utc_offset FROM pg_timezone_names WHERE name = 'America/Caracas';
 utc_offset 
------------
 -04:00:00
(1 row)