首页 > 数据库 >PostgreSQL的流复制搭建

PostgreSQL的流复制搭建

时间:2022-10-14 13:36:50浏览次数:42  
标签:主库 wal PostgreSQL pgdata 复制 pg 备库 搭建

单机版流复制

测试环境搭建

搭建规划


主库

备库

数据目录

/pgdata/12/data

/pgdata/1202/data

归档目录

/pgdata/12/arch

/pgdata/1202/arch

端口

5432

5433


创建流复制用户

create role replica with replication login password '123456';


备份主库


pg_basebackup -D /backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R


解压备份

cd /backup

tar -xvf base.tar -C /pgdata/12/data
tar -xvf pg-wal.tar -C /pgdata/12/arch


修改postgresql.conf

参数修改
max_wal_senders = 10 #设置可以最多有几个流复制连接,差不多有几个从,就设置几个 ,相当月mysql的binlog dump线程

wal_keep_segments = 0 #设置流复制保留的最多的xlog数目 128

wal_sender_timeout = 60s #设置流复制主机发送数据包的超时时间

max_connections = 100 #一般查多于写的应用从库的最大连接数比较大

hot_standby = on #针对从库,说明这台机器不仅仅是用于数据归档,也用于数据查询

max_standby_streaming_delay = 30s #数据备份的最大延迟时间

wal_receiver_status_interval = 10s #多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的时间间隔

hot_standby_feedback = on #如果有错误的数据复制,是否向主进行反馈

recovery_target_timeline = 'latest' #指定恢复到一个最近的时间线

另外因为是单机多实例

还需要修改这几个参数

archive_command = 'cp %p /pgdata/1202/arch/%f'

port = 5433


修改standby.signal

standby_mode = 'on'

PostgreSQL的流复制搭建_多实例

表示为备库


启动备库

pg_ctl -D /pgdata/1202/data

​CST [22362] LOG: started streaming WAL from primary at 0/6000000 on timeline 2​


监控复制

主库:

select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;

PostgreSQL的流复制搭建_数据_02


备库:

psql -U postgres -h localhost -p 5433 -c "\x" -c "select * from pg_stat_wal_receiver;"

PostgreSQL的流复制搭建_多实例_03


测试:

主库上新建一个库

PostgreSQL的流复制搭建_数据复制_04

查看备库

PostgreSQL的流复制搭建_多实例_05






标签:主库,wal,PostgreSQL,pgdata,复制,pg,备库,搭建
From: https://blog.51cto.com/u_13874232/5756337

相关文章

  • vue+elementui+axios环境搭建
    1.去官网下载安装node.js,安装后用命令检测版本信息node-vnpm-v2.安装vue环境#安装淘宝npmnpminstall-gcnpm--registry=https://registry.npm.......
  • 通过kubeadm搭建k8s集群
    ======通过kubeadm搭建k8s集群======1、版本统一Docker18.09.0---kubeadm-1.14.0-0kubelet-1.14.0-0kubectl-1.14.0-0---k8s.gcr.io/kube-......
  • postgresql-主备同步模式测试
    测试1:synchronous_standby_names=*是否等同于synchronous_standby_names=any1(s1,s2,s3)结论:不等同ANY2(s1,s2):quorum,quorum,asyncANY1(s1,s2,s3):quorum,quorum,q......
  • [转]利用 Everything 搭建文件服务器
    本文转自:https://mp.weixin.qq.com/s/emKmSKoNeL9FuwLNCxyreQEverything是voidtools出品的本地文件搜索工具,它自带的HTTP服务可以用来搭建资料分享网站。在Everyth......
  • 09-02 搭建并实现智能DNS
    09-02搭建并实现智能DNS1.环境名称IPDNSnode1DNS服务器192.168.100.11/10.0.0.11-node2北京客户端192.168.100.13192.168.100.11node3上海客......
  • Centos7部署mongodb三节点复制集
    Centos7部署mongodb三节点复制集一、安装mongodb#使用yum安装mongodb1、自定义yum源文件vim/etc/yum.repos.d/mongodb.repo[mongodb-org]name=MongoDBRepository......
  • 【云服务器】记录使用腾讯云服务器搭建个人blog网站
    服务器购买第一次写博客,写的不好请见谅腾讯云教育活动配置还行,能搭建个网站了果断下单选择系统缺点(对我来说):参考于:人生不开窍:WindowsServer各版本差异不能安......
  • PostgreSQL的WAL日志管理
    wal日志介绍wal日志即writeaheadlog预写式日志,简称wal日志。wal日志可以说是PostgreSQL中十分重要的部分,相当于oracle中的redo日志。当数据库中数据发生变更时:(1)change发生......
  • ubuntu Error: You must install at least one postgresql-client-<version> package
    ubuntu系统上执行psql报错Warning:Noexistingclusterissuitableasadefaulttarget.Pleaseseemanpg_wrapper(1)howtospecifyone.Error:Youmustinsta......
  • MySQL——主从复制
    一、复制概述复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL......