如何为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中更新这些时区?

我通过删除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)

最新更新