63 lines
1.8 KiB
Plaintext
63 lines
1.8 KiB
Plaintext
##主库配置
|
||
|
||
##为从库创建复制用户
|
||
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;
|
||
|