1. 程式人生 > 其它 >postgresql13主從流複製

postgresql13主從流複製

技術標籤:資料庫主從流複製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

至此搭建完成