Image description
d3mo slot pg
PGD v5.9.3 - Slot Replikasi yang Dibuat oleh PGD

Slot Replikasi yang Dibuat oleh PGD

Pada node master PGD, slot replikasi berikut dibuat oleh PGD:

  • Satu slot grup, bernama bdr_<nama database>_<nama grup>
  • N-1 slot node, bernama bdr_<nama database>_<nama grup>_<nama node>, di mana N adalah jumlah total node PGD dalam klaster, termasuk standby logis langsung jika ada.

Peringatan: Jangan hapus slot tersebut. PGD membuat dan mengelolanya, dan menghapusnya saat diperlukan.

Di sisi lain, Anda dapat membuat atau menghapus slot replikasi yang diperlukan oleh perangkat lunak seperti Barman atau replikasi logis menggunakan perintah yang sesuai tanpa mempengaruhi PGD. Jangan memulai nama slot yang digunakan oleh perangkat lunak lain dengan awalan bdr_.

Sebagai contoh, dalam klaster yang terdiri dari tiga node alpha, beta, dan gamma, di mana PGD digunakan untuk mereplikasi database mydb dan grup PGD disebut mygroup:

  • Node alpha memiliki tiga slot:
    • Satu slot grup bernama bdr_mydb_mygroup
    • Dua slot node bernama bdr_mydb_mygroup_beta dan bdr_mydb_mygroup_gamma
  • Node beta memiliki tiga slot:
    • Satu slot grup bernama bdr_mydb_mygroup
    • Dua slot node bernama bdr_mydb_mygroup_alpha dan bdr_mydb_mygroup_gamma
  • Node gamma memiliki tiga slot:
    • Satu slot grup bernama bdr_mydb_mygroup
    • Dua slot node bernama bdr_mydb_mygroup_alpha dan bdr_mydb_mygroup_beta

Slot Replikasi Grup

Slot grup adalah slot internal yang digunakan oleh PGD terutama untuk melacak posisi aman tertua yang telah dicapai oleh node mana pun dalam grup PGD (termasuk semua standby logis) untuk replikasi keluar dari node ini.

Nama slot grup diberikan oleh fungsi bdr_group_slot_name().

Slot grup dapat:

  • Bergabung dengan node baru ke grup PGD tanpa harus semua node yang ada aktif (meskipun mayoritas node harus aktif). Proses ini tidak menyebabkan kehilangan data jika node yang mati saat penggabungan mulai mereplikasi lagi.
  • Memisahkan node dari klaster secara konsisten, meskipun beberapa node belum sepenuhnya sinkron dengan node yang dipisahkan.
  • Menahan titik pembekuan untuk menghindari kehilangan beberapa konflik.
  • Menjaga snapshot historis untuk snapshot berbasis waktu.

Slot grup biasanya tidak aktif dan dimajukan hanya secara periodik sebagai respons terhadap pesan kemajuan Raft dari node lain.

Peringatan: Jangan hapus slot grup. Meskipun biasanya tidak aktif, slot ini tetap vital untuk operasi klaster PGD yang tepat. Jika Anda menghapusnya, maka beberapa atau semua fitur dapat berhenti bekerja atau menghasilkan hasil yang salah.

Hash Pengenal Panjang

Nama slot replikasi, seperti pengenal PostgreSQL lainnya, tidak boleh lebih panjang dari 63 byte. PGD menangani hal ini dengan memperpendek nama database, nama grup PGD, dan nama node jika nama slot yang dihasilkan terlalu panjang untuk batas tersebut. Pemendekan pengenal dilakukan dengan mengganti bagian akhir string dengan hash dari string itu sendiri.

Sebagai contoh, pertimbangkan klaster yang mereplikasi database bernama db20xxxxxxxxxxxxxxxx (20 byte) menggunakan grup PGD bernama group20xxxxxxxxxxxxx (20 byte). Slot replikasi logis yang terkait dengan node a30xxxxxxxxxxxxxxxxxxxxxxxxxxx (30 byte) disebut:

bdr_db20xxxx3597186_group20xbe9cbd0_a30xxxxxxxxxxxxx7f304a2 karena 3597186, be9cbd0, dan 7f304a2 masing-masing adalah hash dari db20xxxxxxxxxxxxxxxx, group20xxxxxxxxxxxxx, dan a30xxxxxxxxxxxxxxxxxxxxxxxxxx.

© 2026 - Semua hak dilindungi undang-undang. PT dengan modal Rp 10.000.000.000. Jl. Jend. Sudirman Kav. 52-53, Jakarta Selatan 12190