PostgreSQL怎么搭建流复制
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"PostgreSQL怎么搭建流复制",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL怎么搭建流复制"吧!PostgreS
千家信息网最后更新 2026年11月02日PostgreSQL怎么搭建流复制
本篇内容主要讲解"PostgreSQL怎么搭建流复制",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL怎么搭建流复制"吧!
PostgreSQL通过流复制Streaming Replication可轻松实现高可用HA环境的搭建.
Step 1 主库:创建用户
创建复制用户replicator
testdb=# CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD 'replicator';CREATE ROLE
Step 2 主库:参数配置
配置archive_mode等参数
archive_mode = ONwal_level = replicamax_wal_senders = 10archive_command = '/home/xdb/archive.sh %p %f'listen_addresses = '*'
也可用alter system命令修改
ALTER SYSTEM SET wal_level TO 'replica';ALTER SYSTEM SET archive_mode TO 'ON';ALTER SYSTEM SET max_wal_senders TO '10';ALTER SYSTEM SET listen_addresses TO '*';
重启数据库
pg_ctl -D $PGDATA restart -mf
Step 3 主库:访问配置
修改pg_hba.conf文件
host replication replicator 192.168.26.26/32 md5
生效配置
pg_ctl -D $PGDATA reload
Step 4 从库:从主库备份中恢复
在从库上使用pg_basebackup创建备库
192.168.26.25是主库IP,192.168.26.26是从库IP
pg_basebackup -h 192.168.26.25 -U replicator -p 5432 -D $PGDATA -P -Xs -R
配置从库postgres.conf
hot_standby = ONhot_standby_feedback = ONALTER SYSTEM SET hot_standby TO 'ON';ALTER SYSTEM SET hot_standby_feedback TO 'ON';
配置从库recovery.conf
$ cat $PGDATA/recovery.confstandby_mode = 'on'primary_conninfo = 'host=192.168.26.25 port=5432 user=replicator password=replicator'restore_command = 'cp /data/archivelog/%f %p'archive_cleanup_command = 'pg_archivecleanup /data/archivelog %r'
Step 5 从库:启动数据库
[xdb@localhost testdb]$ pg_ctl -D $PGDATA startwaiting for server to start....2019-03-13 12:13:30.239 CST [1870] LOG: listening on IPv4 address "0.0.0.0", port 54322019-03-13 12:13:30.239 CST [1870] LOG: listening on IPv6 address "::", port 54322019-03-13 12:13:30.252 CST [1870] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"2019-03-13 12:13:30.379 CST [1870] LOG: redirecting log output to logging collector process2019-03-13 12:13:30.379 CST [1870] HINT: Future log output will appear in directory "pg_log". doneserver started
Step 6 验证复制环境
确认相关进程是否已启动
#主库[xdb@localhost testdb]$ ps -ef|grep senderxdb 1646 1532 0 12:13 ? 00:00:00 postgres: walsender replicator 192.168.26.26(35294) streaming 0/43000140xdb 1659 1440 0 12:17 pts/1 00:00:00 grep --color=auto sender[xdb@localhost testdb]$ #从库[xdb@localhost testdb]$ ps -ef|grep receiverxdb 1879 1870 0 12:13 ? 00:00:00 postgres: walreceiver streaming 0/43000140xdb 1884 1799 0 12:18 pts/0 00:00:00 grep --color=auto receiver[xdb@localhost testdb]$ ps -ef|grep startupxdb 1872 1870 0 12:13 ? 00:00:00 postgres: startup recovering 000000100000000000000043xdb 1887 1799 0 12:18 pts/0 00:00:00 grep --color=auto startup[xdb@localhost testdb]$
Step 7 监控
查询pg_stat_replication数据字典表
testdb=# SELECT * FROM pg_stat_replication;-[ RECORD 1 ]----+------------------------------pid | 1646usesysid | 90113usename | replicatorapplication_name | walreceiverclient_addr | 192.168.26.26client_hostname | client_port | 35294backend_start | 2019-03-13 12:13:30.852269+08backend_xmin | state | streamingsent_lsn | 0/43000140write_lsn | 0/43000140flush_lsn | 0/43000140replay_lsn | 0/43000140write_lag | flush_lag | replay_lag | sync_priority | 0sync_state | asynctestdb=#
同步复制
从库配置参数recovery.conf,在primary_conninfo中添加application_name
primary_conninfo = 'user=replicator password=replicator host=192.168.26.25 port=5432 application_name = standby_26'
主库配置参数
synchronous_standby_names = 'standby_26'synchronous_commit = on
重启数据库,验证是否配置成功
testdb=# \xExpanded display is on.testdb=# SELECT * FROM pg_stat_replication;-[ RECORD 1 ]----+------------------------------pid | 2257usesysid | 90113usename | replicatorapplication_name | standby_26client_addr | 192.168.26.26client_hostname | client_port | 35418backend_start | 2019-03-13 15:17:57.330573+08backend_xmin | 634state | streamingsent_lsn | 0/54D4DBD0write_lsn | 0/54D4DBD0flush_lsn | 0/54D4DBD0replay_lsn | 0/54D4DBD0write_lag | 00:00:00.00101flush_lag | 00:00:00.001954replay_lag | 00:00:00.002145sync_priority | 1sync_state | sync
到此,相信大家对"PostgreSQL怎么搭建流复制"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
配置
参数
数据
数据库
内容
环境
用户
学习
查询
验证
实用
更深
成功
兴趣
命令
备份
字典
实用性
实际
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
上海睿民互联网科技有限公司
科技创新与互联网经济
互联网科技有限公司经营范围
没上市的科技互联网公司
互联网科技开发公司
互联网科技缩写
互联网科技的未来发展
哈尔滨新华互联网科技
宁夏众和广鑫互联网科技有限公司
来此购互联网科技有限公司
上海宁丞科技互联网
明优互联网科技有限公司
滨湖区互联网智能科技产品有哪些
互联网科技数字货币
扫呗互联网科技有限公司
悟空问答互联网科技
互联网科技的前景
恒生科技指数 中概互联网
安徽九吞吴互联网科技有限公司
上海挚品互联网科技有限公司
互联网科技股
盈实互联网科技
互联网科技战争
互联网科技排名
互联网科技有限公司 翻译
科技伦理 互联网公司
朱啸虎曾投资哪些互联网科技企业
互联网风格科技公司名称
银川新华互联网科技学校原画