Replication slots adalah fitur yang sangat penting dalam PostgreSQL, karena memungkinkan Anda untuk mengkonfigurasi replikasi data dengan cara manual. Dalam artikel ini, kita akan membahas tentang fungsi, kelebihan, dan keterbatasan dari replication slots.
Konfigurasi Role Replication
Sebelum Anda dapat mengonfigurasikan replication slots, Anda harus membagi role REPLICATION kepada user yang tepat. Anda dapat menggunakan perintah Postgres Create Replication Slot untuk membagi role REPLICATION kepada user.
CREATE ROLE <replication_role_name> REPLICATION LOGIN;
Ganti <replication_role_name>
dengan nama yang Anda pilih. Jika role tidak ada, Anda harus membuatnya terlebih dahulu.
Konfigurasi System Variable
Replication slot implementation memerlukan konfigurasi manual. Anda perlu mengerti variabel-variabel yang perlu diubah dan disebutkan dalam file postgresql.conf
.
max_replication_slots
: Jika parameter ini diatur menjadi 0, replikasi slots tidak akan diaktifkan sama sekali. Anda harus membagi slot lain selain 0 (default) jika Anda menggunakan PostgreSQL versi kurang dari 10 dan 10 untuk PostgreSQL 10.wal_level
: Harus diatur sebagai replica atau lebih tinggi (replica adalah default). Setting hot_standby atau archive akan mapping ke replica. Replica cukup untuk replikasi fisik, sedangkan replikasi logikal memerlukan.max_wal_senders
: Dijatuhkan menjadi 10 secara default; 0 pada versi 9.6 menunjukkan bahwa replikasi tidak diaktifkan. Disarankan untuk mengatur ini menjadi paling tidak 16.hot_standby
: Harus diaktifkan pada versi kurang dari 10, karena disable oleh default. Hal ini sangat penting untuk node standby, karena ketika diaktifkan, Anda dapat terhubung dan menjalankan kueri selama proses recovery atau mode standby.
Kelebihan dan Keterbatasan Replication Slots
Setelah diaktifkan, replikasi slots sangat berguna. Namun, memiliki beberapa kelemahan juga:
Kelebihan:
- Menjamin bahwa master memiliki WAL segments yang cukup untuk semua klon.
- Mencegah master menghapus baris yang dapat menyebabkan konflik recovery pada replika.
- Hanya ketika semua klon telah mengkonsumsi log transaksi, maka master dapat memperbarui log. Manfaatnya adalah bahwa slave tidak pernah jauh terlambat sehingga diperlukan resync.
Keterbatasan:
- Jika replika terputus untuk waktu yang lama, slot replikasi pada master akan menahan file WAL, yang dapat menyebabkan peningkatan requirement storage.
- Perlu memantau replikasi slots, terutama dalam lingkungan dengan beberapa replika, yang dapat meningkatkan kompleksitas manajemen replikasi PostgreSQL.
- File WAL dipertahankan oleh master ketika replika terputus. Hal ini juga berarti bahwa direktori
pg_wal
mungkin penuh.
Kesimpulan:
Artikel ini membahas tentang fungsi, kelebihan, dan keterbatasan dari replication slots dalam PostgreSQL. Namun, untuk bekerja dengan replikasi, Anda perlu menjadi ahli PostgreSQL untuk mengkonfigurasi server dari awal dan membagi beberapa detail secara manual. Selain itu, data tidak selalu tersedia dalam format yang tepat, sehingga Anda perlu memiliki keterampilan data engineering dan administration PostgreSQL untuk mengubah data.
Itulah saat Hevo masuk ke gambar. Dengan Hevo, Anda dapat melakukan replikasi PostgreSQL secara real-time dengan mudah. Selain itu, arsitektur fault-tolerant Hevo memastikan replikasi data PostgreSQL yang konsisten dan aman. Menggunakan Hevo akan membuat hidup Anda lebih mudah dan membuat Data Replication bebas masalah.
Lihat website kami untuk mengetahui lebih lanjut tentang Hevo! Ingin mencoba Hevo? Daftar untuk trial 14 hari percuma dan mengalami fitur-fitur Hevo secara langsung. Lihat harga Hevo yang tak tertandingi dan pilih paket yang tepat untuk Anda!
Bagikan pendapat Anda tentang Replication Slots PostgreSQL di komentar di bawah!