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

Proses bersamaan memasukkan data dalam database

Cara paling sederhana tampaknya adalah dengan menggunakan tingkat isolasi transaksi 'serializable', yang mencegah pembacaan phantom (orang lain memasukkan data yang akan memenuhi SELECT sebelumnya selama transaksi Anda).

if (!conn.getMetaData().supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE)) {
    // OK, you're hosed. Hope for your sake your drivers supports this isolation level 
}
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);

Ada juga teknik seperti pernyataan "MERGE" Oracle -- pernyataan tunggal yang 'menyisipkan atau memperbarui', tergantung pada apakah data ada di sana. Saya tidak tahu apakah Postgres memiliki padanan, tetapi ada teknik untuk 'memalsukannya' - lihat mis. Cara menulis INSERT JIKA TIDAK ADA kueri dalam SQL standar .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks regexp_matches Postgresql tidak berfungsi seperti yang diharapkan

  2. LOWER() – Konversikan ke Huruf Kecil di PostgreSQL

  3. Masukkan data dalam 3 tabel sekaligus menggunakan Postgres

  4. Interval pencocokan PostgreSQL antara waktu mulai dan waktu berakhir dengan stempel waktu

  5. cara mematikan log Heroku SQL dari postgres