Please wait...
Suggest:

Streaming Replication Postgresql 14 di Ubuntu Server 22.04 LTS

Last update at September 15, 2022 by
Streaming Replication Postgresql 14 di Ubuntu Server 22.04 LTS

Streaming Replication, adalah salah satu fitur dari PostgreSQL, yang memungkinkan untuk melakukan replikasi data terhadap server standby yang bersumber dari server utama (primary), informasi terbaru di server primary ditransfer ke server standby secara realtime, sehingga database server utama dan server standby dapat tetap sinkron. Fitur Streaming Replication ini membawa manfaat besar bagi sistem Anda.

Baca juga : Cara-Install-Squid-Proxy-di-Ubuntu-22.04

Cara Melakukan Streaming Replication Postgresql 14

Berikut ini adalah langkah-langkah untuk melakukan Streaming Replication Postgrsql 14 di Ubuntu Server 22.04 LTS :

1. Install dan jalankan Postgrsql 14

Langkap pertama install dan jalankan service postgrsql 14 di semua node server primary maupun standby.

2. Konfigurasi server primary (Primary Node)

Edit file konfigurasi postgresql.conf

root@primary-node:~# nano /etc/postgresql/14/main/postgresql.conf

Modifikasi beberapa konfigurasi untuk kebutuhan replikasi

# line 60 : uncomment and change
# Bagian ini supaya server postgresql dapat diakses secara remote
listen_addresses = '*'

# line 205 : uncomment
wal_level = replica

# line 210 : uncomment
synchronous_commit = on

# line 298 : uncomment
# maximum koneksi yang terhubung secara bersamaan dari server streaming client
max_wal_senders = 10

# line 312 : uncomment and change
synchronous_standby_names = '*'

Selanjutnya, edit file konfigurasi authentication pg_hba.conf

root@primary-node:~# nano /etc/postgresql/14/main/pg_hba.conf

Tambahkan beberapa baris konfigurasi berikut ini di akhir baris

# host replication [replication user] [allowed network] [authentication method]
host    replication     user_replica        10.0.0.30/32            scram-sha-256


# Keterangan :
# host = jalur koneksi
# replication = tipe koneksi
# rep_user = user yang bisa replikasi
# 10.0.0.30/32 = IP node replika bisa ip public atau private IP jika dalam 1 network
# scram-sha-256 = metode autentikasi

Buat user replikasi (user_replica)

root@primary-node:~# su - postgres
postgres@primary-node:~$ createuser --replication -P user_replica

Enter password for new role:   # masukan password untuk user 'user_replica'
Enter it again:

postgres@primary-node:~$ exit

#Restart service
root@primary-node:~# systemctl restart postgresql

3. Konfigurasi server replika (Replica Node)

Pertama-tama stop service database yang sedang berjalan

root@replica-node:~# systemctl stop postgresql

Hapus data yang sudah ada, karena akan diganti dengan backup dari node primary.

root@replica-node:~# rm -rf /var/lib/postgresql/14/main/*

Backup data dari server primary (primary node)

root@replica-node:~# su - postgres
postgres@replica-node:~$ pg_basebackup -R -h www.host-or-ip-primary-node.com -U user_replica -D /var/lib/postgresql/14/main -P
Password:   # password of replication user 'user_replica' yang sudah dibuat diatas

34825/34825 kB (100%), 1/1 tablespace

postgres@replica-node:~$ exit

Atur konfigurasi postgresql.conf di server replika

postgres@replica-node:~# nano /etc/postgresql/14/main/postgresql.conf

# line 60 : uncomment and change
listen_addresses = '*'

# line 325 : uncomment
hot_standby = on

Restart service database postgrsql

root@replica-node:~# systemctl start postgresql

4. Sekarang tinggal pastikan bahwa server replica sudah terhubung dengan server primary

Jalankan query 'select usename, application_name, client_addr, state, sync_priority, sync_state from pg_stat_replication;' untuk melihat server yang terhubung ke server primary.

root@replica-node:~# su - postgres
postgres@primary-node:~$ psql -c "select usename, application_name, client_addr, state, sync_priority, sync_state from pg_stat_replication;"

 usename  | application_name | client_addr |   state   | sync_priority | sync_state
----------+------------------+-------------+-----------+---------------+------------
 rep_user | 14/main          | 10.0.0.30   | streaming |             1 | sync
(1 row)

Penutup

Itulah cara melakukan streaming replication postgresql di Ubuntu 22.04 LTS, silahkan share atau bookmark jika artikel ini bermanfaat. Terimakasih.

Refferance

Postingan Lainnya

©2024