Kloning dan Slot Replikasi
Slot replikasi diperkenalkan sejak PostgreSQL 9.4 dan dirancang untuk memastikan bahwa setiap standby yang terhubung ke primary menggunakan slot replikasi akan selalu dapat mengambil file WAL yang diperlukan. Ini menghilangkan kebutuhan untuk mengelola penyimpanan file WAL secara manual dengan memperkirakan jumlah file WAL yang perlu dipertahankan di primary menggunakan wal_keep_segments. Namun, perlu diingat bahwa jika standby terputus, WAL akan terus menumpuk di primary hingga standby terhubung kembali atau slot replikasi dihapus.
Untuk mengaktifkan repmgr menggunakan slot replikasi, atur parameter boolean use_replication_slots dalam repmgr:
use_replication_slots=trueSlot replikasi harus diaktifkan di postgresql dengan mengatur parameter max_replication_slots setidaknya sebanyak jumlah standby yang diharapkan (perubahan pada parameter ini memerlukan restart server).
Ketika melakukan kloning standby, repmgr akan secara otomatis menghasilkan nama slot yang sesuai, yang disimpan dalam tabel repmgr, dan membuat slot di node upstream:
repmgr=# SELECT node_id, upstream_node_id, active, node_name, type, priority, slot_name FROM repmgr ORDER BY node_id; node_id | upstream_node_id | active | node_name | type | priority | slot_name ---------+------------------+--------+-----------+---------+----------+--------------- 1 | | t | node1 | primary | 100 | repmgr_slot_1 2 | 1 | t | node2 | standby | 100 | repmgr_slot_2 3 | 1 | t | node3 | standby | 100 | repmgr_slot_3 (3 rows)repmgr=# SELECT slot_name, slot_type, active, active_pid FROM pg_replication_slots ; slot_name | slot_type | active | active_pid ---------------+-----------+--------+------------ repmgr_slot_2 | physical | t | 23658 repmgr_slot_3 | physical | t | 23687 (2 rows)Perhatikan bahwa nama slot akan dibuat secara default untuk primary tetapi tidak benar-benar digunakan kecuali primary diubah menjadi standby menggunakan misalnya repmgr standby switchover.
Informasi lebih lanjut tentang slot replikasi dapat ditemukan di dokumentasi PostgreSQL.
Tip: Meskipun slot replikasi berguna untuk replikasi streaming, disarankan untuk memantau slot yang tidak aktif karena slot tersebut akan menyebabkan file WAL menumpuk tanpa batas, yang dapat menyebabkan kegagalan server.
Sebagai alternatif, kami merekomendasikan penggunaan alat manajemen WAL yang dijalankan di server terpisah, sehingga mengurangi kebutuhan untuk menggunakan slot replikasi guna menyimpan WAL.