Liquibaseの命令autoIncrement="true" serialを生成します PostgreSQLの列。 serialの場合 列PostgreSQLは、tablename_colname_seqのような名前のシーケンスを作成します 。このシーケンスからデフォルトの列値が割り当てられます。
ただし、明示的に シリアル列に値を挿入します。シーケンスジェネレーターには影響せず、次の値は変更されません。したがって、重複する値を生成する可能性があります。これはまさにあなたのケースです。
明示的な値を挿入した後にこれを防ぐには、ALTER SEQUENCEを使用してシーケンスジェネレーターの現在の値を変更する必要があります。 ステートメントまたはsetval()を使用 機能、例:
ALTER SEQUENCE tablename_colname_seq RESTART WITH 42;
SELECT setval('tablename_colname_seq', (SELECT max(colname) FROM tablename));
これで問題が解決するはずです。