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

Apakah baris dikunci secara berurutan dalam pernyataan SELECT ... ORDER BY ... FOR UPDATE?

Baris dikunci dalam urutan ORDER BY klausa seperti saat tabel dipindai .

Kueri dieksekusi dan baris diurutkan, lalu PostgreSQL mengunci baris secara berurutan. Intinya, ORDER BY terjadi sebelum FOR UPDATE .

Sekarang dapat terjadi bahwa mengunci baris memblokir karena kunci dipegang oleh transaksi bersamaan. Jika itu terjadi, dan kita berada di READ COMMITTED tingkat isolasi, PostgreSQL menunggu sampai bisa mendapatkan kunci dan kemudian mengambil versi saat ini dari baris, yang dikunci.

Jika transaksi bersamaan mengubah kolom yang mendefinisikan pemesanan, hasil akhir tidak akan sesuai dengan urutan yang ditentukan oleh ORDER BY .




  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 memigrasi database PostgreSQL ke SQLServer?

  2. ekspor tabel ke csv di postgres

  3. Dapatkan Nama Hari Singkat di PostgreSQL

  4. pg_dump database postgres dari server jauh ketika port 5432 diblokir

  5. Aturan kurung PostgreSQL, apakah ada panduan yang diringkas?