委内瑞拉的时区最近从-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中更新这些时区?
答案 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)