PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Nilai Kunci Utama Tidak Bertambah dengan Benar

Kolom serial yang mengambil default dari urutan adalah tidak pernah dijamin tanpa celah . Mereka dijamin unik dan naik (sebagaimana didefinisikan) dan aman untuk penggunaan bersamaan .
Jika transaksi yang mengambil nomor dari urutan dibatalkan, nomor tersebut dibakar dan tidak digunakan lagi ... Per dokumentasi:

Jika Anda melihat celah besar seperti 427 -> 4357 , maka ini menunjukkan masalah serius. Entah beberapa kolom lain (atau proses apa pun) menggambar dari urutan yang sama, atau Anda memiliki masalah dengan logika aplikasi Anda, entah bagaimana membakar banyak ID serial.

Kandidat yang umum adalah loop yang salah atau transaksi yang tidak pernah dilakukan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghapus nilai tipe enum di postgres?

  2. TypeORM bersyarat nullable?

  3. Ubah representasi tanggal postgres menjadi string ISO 8601

  4. Salin beberapa kolom file csv ke dalam tabel

  5. Keluarkan ya/tidak sebagai ganti t/f untuk tipe data boolean di PostgreSQL