0

最近我遇到了一个(可能是已知的问题),当 Postgre 的版本在主要编号上不同(总是升级,没有降级)时,例如字段类型。

在我的情况下,几乎没有冲突的数据,所以我手动更改了它,但想了解更多,以防我再次遇到这个问题与更多数据。

在这个具体案例中(但将来可以扩展到其他可能的问题),我只使用数据插入创建了备份,因为我已经保存了表结构。

使用该money类型从 8.x 升级到 9.x 时出现问题,我收到错误,因为插入的值类似于

INSERT INTO foo(...) VALUES (...,'EUR300',...);

所以 postgres 拒绝在 9.1 中插入它

我的想法,我尝试的是将该字段转换为 DECIMAL 并重做转储,这是可行的,但在未来,是否有另一种机制,比如使用更新的 pg_dump 连接到旧数据库,而不是当前的?(没有测试这个)

4

1 回答 1

3

在使用不同版本时,您应该始终使用版本的pg_dump. 这意味着当您从 8.x 升级到 9.1 时,您应该使用pg_dump9.1 版本。它通常应该处理任何必要的转换。

于 2013-08-28T10:29:18.227 回答