Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menangani konflik dalam replikasi aktif-aktif
Ekstensi pgactive
bekerja per basis data dan bukan per klaster. Setiap instans DB yang menggunakan pgactive
adalah instans independen dan dapat menerima perubahan data dari sumber apa pun. Ketika perubahan dikirim ke instans DB, PostgreSQL meng-commit perubahan tersebut secara lokal dan kemudian menggunakan pgactive
untuk mereplikasi perubahan tersebut secara asinkron ke instans DB lainnya. Ketika dua instans DB PostgreSQL memperbarui catatan yang sama pada waktu yang hampir bersamaan, konflik dapat terjadi.
Ekstensi pgactive
menyediakan mekanisme untuk deteksi konflik dan resolusi otomatis. Ini akan melacak stempel waktu ketika transaksi dilakukan pada kedua instans DB dan secara otomatis menerapkan perubahan dengan stempel waktu terbaru. Ekstensi pgactive
juga melakukan log ketika konflik terjadi dalam tabel pgactive.pgactive_conflict_history
.
pgactive.pgactive_conflict_history
Akan terus tumbuh. Anda mungkin ingin menentukan kebijakan pembersihan. Ini dapat dilakukan dengan menghapus beberapa catatan secara teratur atau mendefinisikan skema partisi untuk hubungan ini (dan kemudian melepaskan, menjatuhkan, memotong partisi yang menarik). Untuk menerapkan kebijakan pembersihan secara teratur, salah satu opsi adalah menggunakan pg_cron
ekstensi. Lihat informasi berikut dari contoh untuk tabel pg_cron
riwayat, Penjadwalan pemeliharaan dengan ekstensi PostgreSQL pg_cron.