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

MySQL => Postgres migration: How do I script the sequence start values?

我正在使用 mysqldumppsql 从 MySQL 迁移到 Postgres。我复制了所有数据,但 serials 从 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_colname_seq START 123;),因为在我编辑文件时或复制数据之前,新值可能会插入到旧数据库中。

使用setval.

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