MySQL=>;Postgres迁移:如何编写序列开始值的脚本?

MySQL=>;Postgres迁移:如何编写序列开始值的脚本?,mysql,postgresql,migration,sequence,database-administration,Mysql,Postgresql,Migration,Sequence,Database Administration,我正在使用mysqldump和psql从MySQL迁移到Postgres。我复制了所有数据,但序列号从1开始。我需要将起始值更新为最后一个id号。如何编写脚本以自动执行此操作?我试过了 alter sequence keyword_id_seq restart (select max(id) from keyword); 它给出了一个错误 ERROR: syntax error at or near "(" at character 39 STATEMENT: alter sequence

我正在使用
mysqldump
psql
从MySQL迁移到Postgres。我复制了所有数据,但序列号从1开始。我需要将起始值更新为最后一个id号。如何编写脚本以自动执行此操作?我试过了

alter sequence keyword_id_seq restart (select max(id) from keyword);
它给出了一个错误

ERROR:  syntax error at or near "(" at character 39
STATEMENT:  alter sequence keyword_id_seq restart (select max(id) from keyword);
ERROR:  syntax error at or near "("
LINE 1: alter sequence keyword_id_seq restart (select max(id) from k...

创建序列时(使用
CREATE sequence table\u colname\u seq start 123;
)无法设置起始值,因为在编辑文件或复制数据之前,新值可能会插入到旧数据库中。

使用
setval

SELECT setval('keyword_id_seq', (select max(id) from keyword));