我正在将 MySQL 数据库移植到 PostgreSQL。到目前为止,我已经设法重建所有表和列并导入数据。但是,自动递增的唯一id
字段尚未正确转换。我使用pgAdmin GUI更正了表中的一列。我想我可能不是第一个从 MySQL 转换到 Postgres 的人,所以可能有一种强大且经过测试的方法可以将其作为一项自动化任务来完成。如果有人能提供这么小的脚本,我将不胜感激。
但是,我想要一个经过测试的解决方案的主要原因是,我在添加序列并为相关列设置默认值后遇到了问题。序列的当前值已正确设置2069
为最后一个表条目的值。当我运行我的程序并添加一行时,我得到了一个异常,它说2069
已经分配了唯一值。当我再次运行程序时,它创建了新行,但自动递增的 id 是2071
. 它跳过了2070
。
所以现在有3个可能的错误来源:
- PostgreSQL 9.5 中的错误
- Java JDBC 连接器中的错误
- 我在自动增量字段和序列上犯了一个错误。
通过使用经过测试的解决方案,我可以消除最后一种可能性。