PostgreSQL 10.7 linux 主从配置
PostgreSQL 10.7 主从安装
硬件环境
云服务商:华为云
Linux: CentOS7.1
工具:Xshell Xftp
IP:114.115.251.168
Port: 5432 5433
postgresql二进制安装包从https://www.enterprisedb.com/download-postgresql-binaries

一.Master数据库安装配置
1创建PG数据库的用户postgres

2使用root用户给postgres用户相关文件夹赋权并切换至postgres用户
chown -R postgres:postgres /home

3解压PostgreSQL

4创建PGM应用目录,data为数据,log为日志目录,文件夹赋权777

5初始化数据库
./initdb -E utf8 -D /home/postgresql_master/PGM/data

6Master数据库库参数配置

首先修改pg_hba.conf
在最下边添加两行代码,意为允许远程连接
host replication all 0.0.0.0/0 trust
host all all 0.0.0.0/0 trust
接下来修改postgresql.conf
listen_addresses = ‘*’ #监听所有ip
port = 5432 #设置IP端口
archive_mode = on #开启归档模式
archive_command = ‘cp %p /var/lib/postgresql/10/main/%f’ #归档命令
wal_level = hot_standby #热备模式
max_wal_senders = 2 #最多有2个流复制连接
wal_sender_timeout = 60s #流复制超时时间
max_connections = 100 #最大连接时间,必须要小于从库的配置
7启动Master数据库
./pg_ctl –D /home/postgresql_master/PGM/data -l /home/postgresql_master/PGM/log/logfile start

8创建热备用户并赋权
create role repl login replication encrypted password 'repl';
grant all privileges on database postgres to repl;

二.StandBy数据库安装配置(先重复Master数据库前5个步骤,注意data文件夹权限必须为700)
1生成基础备份
./pg_basebackup -h 114.115.251.168 -p 5432 -U repl -F p -P -R -D /home/postgresql_standby/PGS/data -l postgresbackup20190402

pg_basebackup支持两种全量备份的方式,
1.以fetch的方式,先备份数据在备份日志
2.以stream的方式,并行的备份数据和日志
pg_basebackup对于全量备份的数据和日志,提供了串行备份和并行备份的方式。fetch模式也就是串行备份需要保证在备份数据的过程中,备份开始时刻的日志需要一直保存下来, 也就说pg的wal_keep_segments需要足够大去保存日志文件,如果备份数据期间,日志开始时刻的日志已经被移除,那么备份就会失败。而stream模式,也就是并行备份过程中wal_max_sender必须保证不小于2。 而stream模式不支持,将数据和日志以流的方式输出到标准输出。
2配置参数

配置recovery.conf
standby_mode = on # 说明该节点是从服务器
primary_conninfo = 'host=114.115.251.168 port=5432 user=repl password=repl' # 主服务器的信息以及连接的用户
recovery_target_timeline = 'latest'
配置postgresql.conf
Port = 5433
wal_level = hot_standby #热备模式
max_connections = 300 #最大连接时间
hot_standby = on #说明这台机器不仅用于数据归档,还可以用于数据查询
max_standby_streaming_delay = 30s #流备份的最大延迟时间
wal_receiver_status_interval = 10s #向主机汇报本机状态的间隔时间
hot_standby_feedback = on #r出现错误复制,向主机反馈
3启动从库

4创建从库用户

三.主从验证
主库查询系统信息正常,接下来测试下数据即可

PostgreSQL 10.7 linux 主从配置的更多相关文章
- CentOS 7 安装、配置、使用 PostgreSQL 10 安装及基础配置
		官网安装方法:https://www.postgresql.org/download/linux/redhat/ 卸载的话使用 yum remove 相应的安装 Install the reposit ... 
- linux篇-linux 主从配置
		1准备两台服务器 一台是192.168.118.128 一台是192.168.118.129 2主服务器配置 192.168.118.128 修改my.cnf文件 server-id=1 log-bi ... 
- postgresql主从配置
		master:10.0.1.114 slaver:10.0.1.116 一.yum安装https://blog.csdn.net/weixin_41048363/article/details/803 ... 
- CentOS7 PostgreSQL 主从配置( 二)
		同步流复制配置PostgreSql的流复制是异步的,缺点是Standby上的数据落后于主库上的数据,如果使用Hot Standby做读写分离,就会存在数据一致性的问题.PostgreSql9.1版本后 ... 
- postgresql pgsql最新版安装指南及数据存储路径更改及主从配置
		postgresql pgsql最新版安装指南及数据存储路径更改及主从配置 安装指南 首先在apt的list添加你当前系统版本对应的apt列表 目前官网有16.04,14.04,12.04 分别对应下 ... 
- 集群之mysql主从配置(windows和linux版)
		起因 由于网站进一步开发运行的需求,要求主机7*24小时运行正常,同时要求能够防止数据库灾难.考虑到后期的开发程度和业务量,准备向高可用系统进行改变,同时通过负载均衡提高网络性能.于是第一步就考虑到了 ... 
- linux系统mysql主从配置
		一.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ... 
- 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件
		点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件 sendEma ... 
- Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)
		Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ... 
随机推荐
- CF泛做
			CF Rd478 Div2 A Aramic script 题意:给定几个字符串,去重后,求种类 思路:直接map乱搞 #include<bits/stdc++.h> using name ... 
- 说一说js中__proto__和prototype以及原型继承的那些事
			在面试中遇到过,问js如何实现继承,其实最好的方式就是构造函数+原型,今天在讨论中,发现自己以前理解上的一些误区,特地写出来,最近都比较忙,等手上的项目做完,可以来做个总结. 先说我以前没有认识到位的 ... 
- vue2.0组件通信小总结
			1.父组件->子组件 父组件 <parent> <child :child-msg="msg"></child>//这里必须要用 - 代替 ... 
- 详解vue生命周期
			vue生命周期 @(vue)[生命周期] 前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周 ... 
- TCP的延迟ACK机制
			TCP的延迟ACK机制 TCP的延迟ACK机制一说到TCP,人们就喜欢开始扯三步握手之类的,那只是其中的一个环节而已.实际上每一个数据包的正确发送都是一个类似握手的过程,可以简单的把它视为两步握手.一 ... 
- 4.app是怎么炼成的
			很多刚进入app后端的小伙伴,有的是之前没有接触过这个行业,有的是只在学校学习了基本的技术知识,不知道开发app的整个流程是怎么样的,因此心里会有一股恐惧.听着别人口中的一大串app相关的术语,也不知 ... 
- [python]多线程模块thread与threading
			Python通过两个标准库(thread, threading)提供了对多线程的支持 thread模块 import time import thread def runner(arg): for i ... 
- 在Windows Server 2008 R2下搭建jsp环境(一)
			要把jsp项目发布到服务器上必须要有其运行的环境,首先要明确的是: 1.数据库环境:mysql,下载和安装步骤见: 2.后台代码环境:JDK,下载和安装步骤见: 3.服务器:Apache Tomcat ... 
- engine.go
			package ;;;;;;;;) ;;;;;) ) ) ) ;; ;;, types.DocumentIndexData{}, true) for { runtime.Gos ... 
- C++中函数重载和函数覆盖的区别
			C++中经常会用到函数的重载和覆盖,二者也在很多场合都拿出来进行比较,这里我就对二者的区别做点总结: 函数重载: 函数重载指的是函数名相同.函数特征值不同的一些函数,这里函数的特征值指的是函数的参数的 ... 
