委内瑞拉的时区最近从-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)