Postgresql 在不同主要版本中的pg_dump和pg_restore?



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

在我的案例中,几乎没有冲突的数据,所以我手动更改了它,但我想知道更多,以防我用更多的数据再次遇到这个问题。

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

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

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

所以postgres拒绝在9.1 中插入

我的想法,以及我尝试的是将该字段转换为DECIMAL并重新进行转储,这是有效的,但在未来,是否还有其他机制,比如使用更新的pg_dump连接到旧数据库,而不是当前的机制?(未对此进行测试)

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

相关内容

  • 没有找到相关文章

最新更新