简单讲下流复制与物理同步:
" 物理同步 "—— 从服务器通过 tcp 流从主服务器中同步相应的数据。这样当主服务器数据丢失时从服务器中仍有备份,因此也被称为流复制。
实际操作:
1、参数配置
主机postgresq.conf
vim /home/postgres/data/postgresql.conf
listen_addresses = '*' wal_level = hot_standby max_wal_senders = 10 max_replication_slots = 10 hot_standby = on # 主要用来备库配置,主库配置无影响 wal_keep_segments = 32 # 最少保留的 WAL 日志数量 wal_log_hints = on full_page_writes = on
主机pg_hba.conf
vim /home/postgres/data/pg_hba.conf
host replication all 0.0.0.0/0 trust
2、重启主机数据库使配置生效
3、使用 pg_basebackup 命令创建备机
./pg_basebackup -D /home/postgres/data -Upostgres -F p -X stream -v -h192.168.101.7 -p5433
4、修改备机postgresql.auto.conf
primary_conninfo='host=192.168.101.7 port=5433 user=postgres dbname=postgres'
5、data目录下添加文件standby.signal
6、启动备机
7、psql登录主机查询流复制状态
8、可以在主机写入数据,备机进行查询,简单验证主备流复制是否正常