![PostgreSQL 7.4 => 8.1 迁移:时区问题](https://linux22.com/image/498567/PostgreSQL%207.4%20%3D%3E%208.1%20%E8%BF%81%E7%A7%BB%EF%BC%9A%E6%97%B6%E5%8C%BA%E9%97%AE%E9%A2%98.png)
好的,我正在将 Project Open 迁移到新服务器(基于使用 AOLServer 的 OpenACS 构建的开源项目管理系统),并遇到了一个非常奇怪的问题:导入 7.4 转储会自动将“带时区的时间戳”值从 GMT+1/+2(CET)调整为 GMT,这严重扰乱了一切,因为我得到了很多东西,这实际上2009-01-10 00:00:00+02
变成了2009-01-09 22:00:00+00
向后跳一天,这扰乱了一些功能。我该如何关闭此调整功能?提前致谢。
记录显示,新旧服务器均设置为 CET,而不是 GMT。
编辑:不,我不能使用 8.3/8.4。
答案1
尝试使用较新版本的pg_dump
或pg_dumpall
在执行 PostgreSQL 从/到您指定的版本的转储/恢复时,我遇到了许多奇怪的事情。我假设您正在从 RedHat 或 CentOS 4.x 迁移到 5.x。我发现 CentOS/RHEL 4.x 版本的 pg_dump 和 pg_dumpall 输出存在问题。在所有情况下,我的问题都通过在 PostgreSQL 上使用更高版本执行旧数据库的转储得到了解决。
如果您的目标是较新的服务器,请使用该系统通过网络运行转储,或者在源服务器上安装较新版本的 PostgreSQL(例如,从 /opt 中的 8.1.15 源安装)以便使用其 pg_dump 命令。看看这是否能解决问题。