##主库配置 ##为从库创建复制用户 su - pgsql /usr/local/postgresql/bin/psql -d postgres CREATE ROLE replicator login replication encrypted password 'DsideaL147258369'; ##设置权限 vi /usr/local/postgresql/data/pg_hba.conf host replication replicator 10.10.14.72/32 md5 ##修改postgresql.conf配置文件 vi /usr/local/postgresql/data/postgresql.conf max_connections = 100 #这个设置要注意下,据说从库的max_connections必须要大于主库的 archive_mode = on #开启归档 wal_level = logical max_wal_senders = 32 #设置可以最多有几个流复制连接 wal_sender_timeout = 60s wal_compression = on #启用WAL压缩,可以减小WAL日志的大小,减少磁盘空间的使用和网络传输的开销。但启用WAL压缩会增加CPU负载。 ##重启 /usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l logfile restart ##从库配置 ##切换用户 su - pgsql ##先关闭从库服务 /usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l logfile stop cd /usr/local/postgresql ##清空数据文件夹 rm -rf /usr/local/postgresql/data ##从主节点获取数据 /usr/local/postgresql/bin/pg_basebackup -h 10.10.14.71 -p 5432 -U replicator -Fp -Xs -Pv -R -D /usr/local/postgresql/data ##修改standby.signal文件 vi /usr/local/postgresql/data/standby.signal standby_mode = 'no' ##修改postgresql.conf文件 vi /usr/local/postgresql/data/postgresql.conf primary_conninfo = 'host=10.10.14.71 port 5432 user=replicator password=DsideaL147258369' recovery_target_timeline = 'latest' max_connections = 200 #注意要大于主节点 hot_standby = on max_standby_streaming_delay = 30s wal_receiver_status_interval = 10s hot_standby_feedback = on ##启动从库 /usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l logfile start ##验证主从,在主库执行如下语句 select * from pg_stat_replication;