postgresql 流复制中指定同步的用户
postgresql 流复制中指定同步的用户
在创建postgresql流复制的过程中,可以指定用户名。
主库pg_hba.conf配置
vi $PGDATA/pg_hba.conf
host replication repl 192.168.56.12/32 md5
host all all 0.0.0.0/0 md5
主库创建同步的用户
# 主库创建 replicator 流复制用户用于后面创建同步备库使用
CREATE USER repl REPLICATION ENCRYPTED PASSWORD 'repli';"
# 在备库上使用 pg_basebackup 从主库同步数据
pg_basebackup -D $PGDATA -Fp -Xs -v -P -h 192.168.56.11 -p 5432 -U repl# 12版本之后将参数都放到了postgresql.conf文件中并编辑 standby.signal 文件(12之前参数都配置在recovery.conf文件中)
vi postgresql.conf
primary_conninfo = 'application_name=pgdb host=192.168.56.11 port=5432 user=replicator password=replicator'
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s# postgresl 9.4.1
$ cat recovery.conf
standby_mode = 'on'
primary_conninfo = 'user=postgres password=postgres host=192.168.56.11 port=5432 sslmode=disable sslcompression=1'#编辑 standby.signal 文件
vi standby.signal
standby_mode = on # async:表示备库为异步同步方式。potential:表示备库当前为异步同步方式,如果当前的同步备库宕机后,异步备库可升级成为同步备库。sync:当前备库为同步方式。quorum:表示备库为quorum standbys的候选# 启动备库
pg_ctl start