Instruksi Liquibase autoIncrement="true" menghasilkan serial kolom untuk PostgreSQL. Untuk serial kolom PostgreSQL akan membuat urutan dengan nama seperti tablename_colname_seq . Nilai kolom default akan ditetapkan dari urutan ini.
Tetapi ketika Anda secara eksplisit masukkan nilai ke kolom serial, itu tidak mempengaruhi generator urutan, dan nilai berikutnya tidak akan berubah. Sehingga dapat menghasilkan nilai duplikat, yang persis seperti kasus Anda.
Untuk mencegah hal ini setelah Anda memasukkan nilai eksplisit, Anda perlu mengubah nilai saat ini dari generator urutan baik dengan ALTER SEQUENCE pernyataan atau dengan setval() fungsi, misalnya:
ALTER SEQUENCE tablename_colname_seq RESTART WITH 42;
SELECT setval('tablename_colname_seq', (SELECT max(colname) FROM tablename));
Ini akan memperbaiki masalah.