PostgreSQL 16 menawarkan kemampuan replikasi yang kuat untuk memastikan data tetap tersedia dan didistribusikan secara real-time antara server utama dan server siaga. Berikut adalah langkah-langkah yang perlu diikuti untuk mengkonfigurasi replikasi streaming di PostgreSQL 16.
Persiapan Awal
Instalasi PostgreSQL
Pastikan PostgreSQL 16 terinstall di kedua server (primer dan standby). Jika belum, Anda dapat menginstalnya dengan perintah berikut:
sudo apt-get update sudo apt-get install postgresql-16 Buat Pengguna Replikasi
Buat pengguna khusus untuk replikasi di server utama:
CREATE ROLE rep_user WITH REPLICATION LOGIN PASSWORD 'password'; Konfigurasi pada Server Utama
1. Sunting postgresql.conf
Lokasi file ini biasanya di /etc/postgresql/16/main/postgresql.conf. Tambahkan atau edit baris berikut:
wal_level="replica" max_wal_senders = 10 max_replication_slots = 10 wal_log_hints="on" synchronous_standby_names="FIRST 1 (standby1, standby2)" 2. Sunting pg_hba.conf
Lokasi file ini biasanya di /etc/postgresql/16/main/pg_hba.conf. Tambahkan baris berikut untuk mengizinkan akses dari server siaga:
host replication rep_user 10.0.0.2/32 scram-sha-256 3. Mulai ulang PostgreSQL
Setelah mengedit konfigurasi, restart PostgreSQL:
sudo systemctl restart postgresql 4. Buat Slot Replikasi (Opsional)
Untuk membuat slot replikasi, jalankan perintah berikut di PostgreSQL:
SELECT * FROM pg_create_physical_replication_slot('rep_slot'); Konfigurasi pada Server Standby
1. Hentikan PostgreSQL:
sudo systemctl stop postgresql 2. Salin Data dari Utama ke Siaga:
pg_basebackup -h primary_server_ip -D /var/lib/postgresql/16/main -U rep_user -W -P --write-recovery-conf Pilihan --write-recovery-conf akan membuat file standby.signal dan masukkan pengaturan replikasi yang diperlukan postgresql.conf.
3. Sunting postgresql.conf:
Pastikan file postgresql.conf memiliki pengaturan berikut:
primary_conninfo = 'host=primary_server_ip port=5432 user=rep_user password=password' primary_slot_name="rep_slot" # Jika menggunakan slot replikasi hot_standby = 'on' 4. Sunting pg_hba.conf:
Tambahkan entri untuk mengizinkan koneksi ke server utama:
host replication rep_user primary_server_ip/32 scram-sha-256 5. Mulai PostgreSQL:
sudo systemctl start postgresql Verifikasi
Periksa Status Replikasi di Utama:
SELECT * FROM pg_stat_replication; Contoh hasil
pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_lsn | write_lsn | flush_lsn | replay_lsn | write_lag | flush_lag | replay_lag | sync_priority | sync_state | reply_time --------+----------+----------+------------------+--------------+-----------------+-------------+-------------------------------+--------------+-----------+-------------+-------------+-------------+-------------+-----------+-----------+------------+---------------+------------+------------------------------- 638369 | 340262 | rep_user | 16/main | 34.50.82.145 | | 45992 | 2024-07-10 17:04:53.349471+00 | | streaming | 30/7C014690 | 30/7C014690 | 30/7C014690 | 30/7C014690 | | | | 0 | async | 2024-07-10 17:05:23.409507+00 (1 row) Periksa Status dalam Siaga:
SELECT * FROM pg_is_in_recovery(); Contoh hasil
postgres@hostname:~/16$ psql psql (16.3 (Ubuntu 16.3-1.pgdg22.04+1)) Type "help" for help. postgres=# SELECT * FROM pg_is_in_recovery(); pg_is_in_recovery ------------------- t (1 row) postgres=# Jika semuanya berjalan dengan baik, Anda sekarang memiliki pengaturan replikasi streaming PostgreSQL yang aktif. Replikasi ini memastikan bahwa data di server siaga selalu diperbarui secara real-time dari server utama, sehingga meningkatkan ketersediaan dan keandalan data Anda.
Sumber:
Dengan mengikuti panduan ini, Anda dapat dengan mudah mengatur replikasi streaming di PostgreSQL 16 dan memastikan data Anda selalu sinkron antara server utama dan server siaga.
Agen Togel Terpercaya
Bandar Togel
Sabung Ayam Online
Berita Terkini
Artikel Terbaru
Berita Terbaru
Penerbangan
Berita Politik
Berita Politik
Software
Software Download
Download Aplikasi
Berita Terkini
News
Jasa PBN
Jasa Artikel
