Artikel ini menjelaskan bahwa urutan Anda mungkin tidak sinkron dan Anda harus menyinkronkannya kembali secara manual.
Kutipan dari artikel jika URL berubah:
Jika Anda mendapatkan pesan ini saat mencoba memasukkan data ke dalam database PostgreSQL:
ERROR: duplicate key violates unique constraint
Itu mungkin berarti bahwa urutan kunci utama dalam tabel yang Anda kerjakan entah bagaimana menjadi tidak sinkron, kemungkinan karena proses impor massal (atau sesuatu seperti itu). Sebut saja "bug bydesign", tetapi tampaknya Anda harus mengatur ulang indeks kunci primer secara manual setelah memulihkan dari file dump. Bagaimanapun, untuk melihat apakah nilai Anda tidak sinkron, jalankan dua perintah ini:
SELECT MAX(the_primary_key) FROM the_table;
SELECT nextval('the_primary_key_sequence');
Jika nilai pertama lebih tinggi dari nilai kedua, urutan Anda tidak sinkron. Cadangkan database PG Anda (untuk berjaga-jaga), lalu jalankan perintah ini:
SELECT setval('the_primary_key_sequence', (SELECT MAX(the_primary_key) FROM the_table)+1);
Itu akan mengatur urutan ke nilai berikutnya yang tersedia yang lebih tinggi daripada kunci utama yang ada dalam urutan.