我有两个运行在不同时区的不同服务器上的数据库。其中有几个表包含 timestamp with timezone
。
我需要从一个数据库中导出数据,并在另一个数据库中正确地使用时间戳和时区进行导入。
我使用以下命令来导出数据:
pg_dump -a DB_NAME > dump.sql
我看到数据使用旧的时间戳和时区格式:
2013-11-29 14:30:00+02
然后我使用命令将备份文件恢复到另一个服务器上:psql -d DB_NAME -f dump.sql
我看到时间戳和时区来自旧服务器,我认为这很正常。
然后我尝试在dump.sql的开头放置以下命令。
SET timezone ...
但仍然无法正常工作。:(
这是一次性操作。一旦传输数据,就不需要同步了。是否有使用pg_dump和pg_restore或类似工具进行此类转换的方法?
ALTER ROLE ... SET TIMEZONE=
用于导入角色,这个方法解决了我的问题。 - cske