这篇文章主要为大家展示了“如何使用PostgreSQL13基于流复制搭建后备服务器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用PostgreSQL13基于流复制搭建后备服务器”这篇文章吧。
pg的高可用、负载均衡和复制特性矩阵如下
后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。
首先配置主机的postgresql.conf
vim /usr/local/pgsql/data/postgresql.conf listen_addresses = '*' wal_level = hot_standby max_wal_senders = 10 max_replication_slots = 10 hot_standby = on # 主要用来备库配置,主库配置无影响 wal_keep_size = 1GB #pg13后配置,之前是wal_keep_segments wal_log_hints = on #pg_rewind必须参数 full_page_writes = on
然后配置主机的pg_hba.conf
vim /usr/local/pgsql/data/pg_hba.conf host replication all 0.0.0.0/0 trust #新增
pg_basebackup -D ../data1 -U postgres -Fp -X stream -R -P -v -p54321 -h 127.0.0.1
解释一下常用参数
pg_basebackup被用于获得一个正在运行的PostgreSQL数据库集簇的基础备份。
-D directory
将输出写到哪个目录。如果必要,pg_basebackup将创建该目录及任何父目录。
-Fp
把输出写成平面文件,使用和当前数据目录和表空间相同的布局。
-Xstream
在备份被创建时通过流复制传送预写式日志。这将开启一个到服务器的第二连接并且在运行备份时并行开始流传输预写式日志。
-R
--write-recovery-conf
在输出目录中(或者当使用 tar 格式时在基础归档文件中)建立 standby.signal 并附加连接设置到postgresql.auto.conf 来简化设置一个后备服务器。postgresql.auto.conf文件将记录连接设置(如果有)以及pg_basebackup所使用的复制槽,这样流复制后面就会使用相同的设置。
-P
--progress
启用进度报告。
-v
--verbose
启用冗长模式,可以理解为输出备份过程数据。
echo "port=54322" >> /usr/local/pgsql/data1/postgresql.conf pg_ctl -D /usr/local/pgsql/data1 start
登录主机查看流复制关系
psql -Upostgres -dpostgres -p54321 select * from pg_stat_replication;
主机插入数据
./psql -Upostgres -dpostgres -p54321 create table t1 (id int ,name varchar); insert into t1 values (1,'cli');
备机查询数据,数据同步成功
psql -Upostgres -dpostgres -p54322 select * from t1;
至此,一个简单的后备服务器就搭建好了。
以上是“如何使用PostgreSQL13基于流复制搭建后备服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。