postgresql13主從流複製
阿新 • • 發佈:2020-12-15
技術標籤:資料庫主從流複製postgresql13
虛擬ip,10.12 ,10.13兩臺伺服器均已安裝postgresql13,本文章主要講如何進行配置
1、修改配置檔案:/var/lib/pgsql/13/data/postgresql.conf
listen_addresses= '*' wal_level = replica archive_mode = on archive_command = 'cp %p /data/postgresql/archive/%f' max_wal_senders= 10 wal_keep_size = 1000 # in megabytes; 0 disables max_slot_wal_keep_size = 10 # in megabytes; -1 disables wal_sender_timeout = 120s # in milliseconds; 0 disables hot_standby = on
2、新建使用者用於主從複製
create user repl REPLICATION LOGIN ENCRYPTED PASSWORD 'repl123';
3、將主從IP新增到hba配置檔案:/var/lib/pgsql/13/pg_hba.conf
host replication replica 192.168.10.0/24 md5 host replication repl 192.168.10.13/32 scram-sha-256 host replication repl 192.168.10.12/32 scram-sha-256
4、在從伺服器13新建資料夾:
mkdir -p /data/postgresql/data
目錄可以修改為安裝後的資料庫配置檔案目錄,則無需新建資料夾(需要先將以下目錄中的內容刪除,然後執行第5、6步):
/var/lib/pgsql/13/data
使用系統目錄則執行第6步後即可使用命令:systemctl start postgresql-13啟動從庫。
5、在從伺服器13執行命令線上熱備份
pg_basebackup -h 192.168.10.12 -U repl -p 5432 -F p -X s -v -P -R -D /data/postgresql/data/ -l postgres12
6、賦予許可權:
chown -R postgres:postgres /data/postgresql/data
chmod 777 -R /data/postgresql/data/
chmod 750 /data/postgresql/data
7、修改從介面的埠:
echo 'port=54322' >> /data/postgresql/data/postgresql.conf
8、找到pg_ctl命令地址:
find / -name pg_ctl
9、進入postgres使用者並啟動從伺服器:
su postgres
/usr/pgsql-13/bin/pg_ctl -D /data/postgresql/data/ start
至此搭建完成