windows PostgreSQL-11.3 主从复制

一、数据库安装
1. 安装环境
操作系统: windows7、windows10
数据库版本: postgresql-11(64位)
2.安装数据库
2.1 下载数据库
官网链接:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
2.2 安装
(1).打开下载好的.exe文件
windows PostgreSQL-11.3 主从复制_第1张图片
(2).点击next,选择数据库安装目录
windows PostgreSQL-11.3 主从复制_第2张图片
(3). 点击next,安装postgresql服务端
windows PostgreSQL-11.3 主从复制_第3张图片
PostgreSQL Server: postgresql服务端(必须有)
pgAdmin 4: postgresql(可选)
Stack Builder: 堆栈生成器(可选)
CommandLine Tools: 命令行工具(可选)

(4).点击next,选择data文件安装路径
windows PostgreSQL-11.3 主从复制_第4张图片
(5).点击next,输入密码
windows PostgreSQL-11.3 主从复制_第5张图片
(6).点击next,选择数据库端口号
windows PostgreSQL-11.3 主从复制_第6张图片
(7).点击next,选择时区
windows PostgreSQL-11.3 主从复制_第7张图片
Locale:选择时区,这里选择的是默认时区
(8).剩余三步,不需要任何操作,直接点击next就可以了
windows PostgreSQL-11.3 主从复制_第8张图片
windows PostgreSQL-11.3 主从复制_第9张图片
windows PostgreSQL-11.3 主从复制_第10张图片
自动下载,等待下载完毕
(9). 下载完毕后,将此弹框关掉(点击finish会自动下载stack builder)
windows PostgreSQL-11.3 主从复制_第11张图片
2.3配置环境变量
右键计算机—》选择高级系统设置—》点击环境变量—》在path里添加C:\PostgreSQL\11\bin
2.4测试数据是否安装成功
打开cmd, 输入psql -U postgres
windows PostgreSQL-11.3 主从复制_第12张图片
如果出现以上界面,说明安装成功。
同理,windows10 也是这样安装

二、主从配置
1.配置环境
Master:
操作系统::windows7
数据库版本:postgresql-11
ip:192.168.0.150

slave:
操作系统:windows10
数据库版本:postgresql-11
ip:192.168.0.131

2.配置master
创建用户,用于slave登录,并且授权复制
create role slave1 login replication encrypted password ‘123456’;
windows PostgreSQL-11.3 主从复制_第13张图片
创建slave1数据库,用于测试
在这里插入图片描述
进入data文件夹,找到pg_hba.conf
windows PostgreSQL-11.3 主从复制_第14张图片
在pg_hba.conf里添加slave的ip
windows PostgreSQL-11.3 主从复制_第15张图片
IPv4里配置是为了slave登录, replication privilege里配置是为了流复制

配置完上述步骤后,在data文件里找到postgresql.conf。进行下述配置
在这里插入图片描述
至此,master已经配置完毕,最后重起postgresql服务

3.配置slave
(1).测试与master是否连接正常
windows PostgreSQL-11.3 主从复制_第16张图片
出现上述界面,说明连接成功
(2).关闭服务,备份data, 修改名称为data01。清除data文件夹下的文件
在这里插入图片描述
windows PostgreSQL-11.3 主从复制_第17张图片
(3).将master上data文件下的文件复制。有两种方式,一种是用命令,一种是手动复制文件
这里使用的是命令的方式
windows PostgreSQL-11.3 主从复制_第18张图片
(4).将share文件下的recovery.conf.sample文件复制到data文件下,并修改名字为recovery.conf
windows PostgreSQL-11.3 主从复制_第19张图片
windows PostgreSQL-11.3 主从复制_第20张图片
(5).修改recovery.conf中的配置
在这里插入图片描述
(6).修改postgresql.conf中的配置
hot_standby = on

至此,slave配置完毕,最后重启服务。然而遗憾的是很多小伙伴,发现服务启不起来。
windows PostgreSQL-11.3 主从复制_第21张图片
那么这时候,我们也不要慌张,先来分析为什么启动不了。首先我们数据库版本是一致的,操作系统都是windows,唯一不同的就是操作系统的版本了,一个是windwos7,一个是windwos10。那么我们现在就要先从这里找原因。去查看系统日志。
右键我的电脑—》管理—》事件查看器—》windows日志—》应用程序。
寻找最近时间的postgresql的错误日志
windows PostgreSQL-11.3 主从复制_第22张图片
Ok,找到原因,postgresql.conf文件中包含错误。这时候小伙伴们肯定再想,slave并没有配置什么呀。怎么会出错。那么这时候,我们来对比一下slave备份和slave复制的postgresql.conf文件到底有什么不同。这里给大家推荐一款对比文件软件,Beyond。对比过后,我们会发现除了我们自己修改的配置外,还有一个地方不同
在这里插入图片描述
左边为slave从master拷贝过来的配置,右边为slave的原配置。这个错误是因为我们安装数据时,时区选择默认而引起的。因为系统版本不一样,所有默认的时区也不一样。所以这时候,我们需要在把时区修改为’C’。C为不选择时区
在这里插入图片描述
Master和slave都需要修改,修改完毕后启动服务
三、测试主从复制
1. 创建表
master
windows PostgreSQL-11.3 主从复制_第23张图片
slave
windows PostgreSQL-11.3 主从复制_第24张图片
2.添加数据
master
windows PostgreSQL-11.3 主从复制_第25张图片
slave
windows PostgreSQL-11.3 主从复制_第26张图片
3.删除数据
master
windows PostgreSQL-11.3 主从复制_第27张图片
slave
windows PostgreSQL-11.3 主从复制_第28张图片
总结:
1. 在做主从配置的时候一定要注意系统版本、数据库版本。
2. 要注意系统权限问题。这个问题我之前遇到过,因为主从复制时,数据库会自动删除和创建一些文件,如果权限不足,那么也会导致数据库服务启动不了。
3. 当数据库服务启动不了的时候,我们要学会去系统日志里查找问题。
4. 因为这是本人第一次发表博客,所以有很多不足的地方,希望大家能给予意见和建议。

你可能感兴趣的:(postgresql,postgres主从复制)