1、创建三个数据库
docker run --name master -p 54320:5432 -e POSTGRES_PASSWORD=123 -v $(pwd)/master:/var/lib/postgresql/data -d postgres:9.6
docker run --name slave0 -p 54321:5432 -e POSTGRES_PASSWORD=121 -v $(pwd)/slave0:/var/lib/postgresql/data -d postgres:9.6
docker run --name slave1 -p 54322:5432 -e POSTGRES_PASSWORD=122 -v $(pwd)/slave1:/var/lib/postgresql/data -d postgres:9.6
2、获取三个数据库的ip地址
docker inspect master |grep IPAddress 172.17.0.2
docker inspect slave0 |grep IPAddress 172.17.0.3
docker inspect slave1 |grep IPAddress 172.17.0.4
3、配置主库,将从库的ip地址添加到pg_hba.conf
vim pg_hba.conf
在最下面添加:
host replication repuser 172.17.0.3/32 md5
host replication repuser 172.17.0.4/32 md5
4、在主库的目录下,修改postgresql.conf 文件
命令行:vim postgresql.conf
wal_level = hot_standby
max_wal_senders = 3
wal_keep_segments = 16
wal_sender_timeout = 60s
hot_standby = on
synchronous_standby_names = ‘*’
vim中用#进行注释,修改时需要将#删除