全部产品
Search
文档中心

PolarDB:Failover slot replikasi logis

更新时间:Jul 02, 2025

Topik ini menjelaskan fitur failover slot replikasi logis dari PolarDB for PostgreSQL (Kompatibel dengan Oracle). Jika node utama gagal, fitur ini memastikan bahwa slot replikasi logis disinkronkan dari node utama ke node standby.

Prasyarat

Kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) menjalankan PolarDB for PostgreSQL (Kompatibel dengan Oracle) 1.0 (versi revisi 1.1.27 atau lebih baru).

Catatan

Eksekusi pernyataan SHOW polar_version untuk melihat versi revisi kluster Anda. Tingkatkan versi revisi jika diperlukan.

Informasi latar belakang

Menurut protokol replikasi streaming PostgreSQL, slot replikasi logis pada node utama tidak disinkronkan ke node baca-saja yang berfungsi sebagai node standby. Dalam hal terjadi failover, slot replikasi logis hilang, dan akibatnya langganan logis terganggu. Untuk menyelesaikan masalah ini, PolarDB for PostgreSQL (Kompatibel dengan Oracle) meningkatkan sistem dengan mendukung failover slot replikasi logis.

Catatan
  • Failover slot replikasi fisik tidak didukung.

  • Untuk informasi lebih lanjut, lihat bagian Replication slots dari Konsep Decoding Logis PostgreSQL.

Aktifkan atau nonaktifkan fitur failover slot replikasi logis

Anda dapat mengaktifkan atau menonaktifkan fitur failover slot replikasi logis dengan mengonfigurasi parameter polar_failover_slot_mode. Nilai valid adalah sebagai berikut:

  • sync: Mengaktifkan failover slot replikasi logis dan mengaturnya ke mode sinkron.

    Catatan
    • Mode sinkron memastikan tidak ada data yang hilang dalam replikasi logis selama failover kluster.

    • Hal ini dimungkinkan dengan memastikan bahwa klien replikasi logis tidak menerima perubahan lebih awal daripada node standby. Namun, dalam kasus pemutusan koneksi jangka panjang dan penyambungan ulang atau pembangunan ulang node standby, jendela waktu menjadi cukup besar sehingga latensi sinkronisasi utama-standby relatif tinggi dan klien replikasi logis mungkin menerima perubahan lebih awal daripada node standby. Jika failover terjadi selama jendela waktu ini, data mungkin hilang dalam replikasi logis. Selain itu, data yang dihasilkan pada node utama baru juga mungkin hilang.

      Untuk menghindari kehilangan data semacam itu, hubungi kami untuk mengatur parameter polar_priority_replication_force_wait ke on, sehingga ketika node standby terputus, node utama tidak mengirimkan perubahan ke klien replikasi logis sampai node standby tersambung kembali atau dibangun ulang. Namun, ini mengurangi ketersediaan replikasi logis. Lanjutkan dengan hati-hati.

  • async (default): Mengaktifkan failover slot replikasi logis dan mengaturnya ke mode asinkron.

    Catatan
    • Dalam mode asinkron, tidak ada data yang hilang dalam replikasi logis selama failover kluster HA. Namun, data duplikat mungkin dikirim ke klien replikasi logis. Jika klien memiliki data yang lebih baru daripada utama baru setelah failover selesai, klien mungkin telah menyimpan data yang hilang, jika ada, selama failover.

    • Jika data yang tidak konsisten memengaruhi bisnis Anda, kami sarankan Anda menggunakan mode sinkron.

  • off: Menonaktifkan failover slot replikasi logis.