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

Menyinkronkan 2 basis data yang gagal dilakukan

Karena Anda ingin melakukan transaksi terdistribusi , Anda memerlukan protokol komit dua fase .

Anda memulai transaksi di kedua database seperti biasa, tetapi alih-alih menjalankannya, Anda menjalankan

PREPARE TRANSACTION 'some_name';

Ini melakukan semua yang mungkin gagal selama komit dan mempertahankan transaksi. Setelah berhasil, jalankan perintah berikut di kedua database:

COMMIT PREPARED 'some_name';

untuk melakukan transaksi.

Jika ada yang gagal selama PREPARE TRANSACTION , Anda menjalankan yang berikut untuk menyingkirkan transaksi yang sudah disiapkan:

ROLLBACK PREPARED 'some_name';

Perhatikan bahwa Anda membutuhkan perangkat lunak manajer transaksi jika Anda menggunakan transaksi yang telah disiapkan, sehingga setiap transaksi yang disiapkan yang tertinggal setelah crash atau masalah tak terduga lainnya dapat dibersihkan dengan andal. Transaksi siap yang tidak dilakukan atau dibatalkan akan tetap ada selamanya dan dengan pasti akan menghancurkan database Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan nilai duplikat pada kolom array

  2. Menggunakan jsonb (PostgreSQL), bagaimana cara mengambil item dengan nilai tertentu yang disimpan sebagai array?

  3. Instalasi PostgresSQL gagal:inisialisasi klaster basis data gagal os MAC

  4. pindahkan data dari satu tabel ke tabel lainnya, edisi postgresql

  5. Bagaimana cara menyalin dari file CSV ke tabel PostgreSQL dengan header dalam file CSV?