Ví dụ chúng ta có 2 server cần cấu hình mô hình master-slave:
Master node: 10.133.36.95
Slave node: 10.133.36.96
Trước tiên bạn cần cài đặt postgresql 12 cho 2 servers như các hướng dẫn ở phần trước:
Hướng dẫn cài đặt postgres 12 từ Source Code (27/03/2020)
Hướng dẫn cấu hình postgresql service trong systemd(28/03/2020)
Bây giờ chúng ta tiến hành cấu hình mô hình master-slave:
$ sudo mkdir -p /usr/local/pgsql/archive/
$ sudo chmod 700 /usr/local/pgsql/archive/
$ sudo chown -R postgres:postgres /usr/local/pgsql/archive/
$ cd /usr/local/pgsql/data
$ vim postgresql.conf
listen_addresses = '10.133.36.95'
wal_level = hot_standby
synchronous_commit = on
archive_mode = on
archive_command = 'cp %p /usr/local/pgsql/archive/%f'
max_wal_senders = 2
wal_keep_segments = 10
synchronous_standby_names = 'slave_db'
sudo -u postgres psql
postgres=# createuser --replication -P replica
Enter password for new role:
Enter it again:
$ cd /usr/local/pgsql/data/
$ vim pg_hba.conf
# Localhost
host replication replica 127.0.0.1/32 md5
# Master
host replication replica 10.133.36.95/32 md5
# Slave
host replication replica 10.133.36.96/32 md5
$ sudo systemctl restart postgresql
$ sudo systemctl stop postgresql
rm -rf /usr/local/pgsql/data/*
$ pg_basebackup -h 10.133.36.95 -U replica -p 5432 -D /usr/local/pgsql/data -Fp -Xs -P -R
(Chú ý: đây là điểm khác biệt của version 12 so với các version trước)touch /usr/local/pgsql/data/standby.signal
$ cd /usr/local/pgsql/data
$ vim postgresql.conf
listen_addresses = '10.133.36.96'
hot_standby = on
$ vim postgresql.auto.conf
primary_conninfo = 'user=replica password=root host=10.133.36.95 port=5432 sslmode=prefer sslcompression=0 gssencmode=disable target_session_attrs=any application_name=slave_db'
sudo systemctl start postgresql
$ psql -x -c "select * from pg_stat_replication"
Như vậy bạn đã cấu hình xong mô hình master-slave cho postgresql version 12. Và bạn thấy điểm khác biệt là vesion 12 sẽ không còn file recovery.conf như các version trước nữa.Hãy khám phá thêm những điểm khác biệt của version 12 ở các bài viết tiếp nhé
Facebook Comments Box