一、数据库安装
根据自身环境需要选择安装、操作
1、yum 指定目录安装
https://blog.csdn.net/llwy1428/article/details/105143053
2、yum 直接安装
https://blog.csdn.net/llwy1428/article/details/102486414
3、编译安装
https://blog.csdn.net/llwy1428/article/details/95444151
4、PostgreSql 基本操作
https://blog.csdn.net/llwy1428/article/details/102598732
5、Centos7 yum 安装、配置 PgAdmin4
https://blog.csdn.net/llwy1428/article/details/102486511
6、Centos7 PostgreSql 数据库安装扩展
https://blog.csdn.net/llwy1428/article/details/105167524
7、Centos7 PostgreSql 数据库使用FDW扩展
https://blog.csdn.net/llwy1428/article/details/106291669
8、Centos7 postgresql v11 安装时序数据库 TimescaleDB
https://blog.csdn.net/llwy1428/article/details/106357900
9、Windows10 使用 PgAdmin 备份 PostgreSql 数据库
https://blog.csdn.net/llwy1428/article/details/107031697
二、虚拟机安装配置
1、选择(或安装)两台 Centos7.x 虚拟机
系统下载:http://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/
2、系统安装:https://blog.csdn.net/llwy1428/article/details/89328381
3、网络配置:https://blog.csdn.net/llwy1428/article/details/85058028
说明:此处以 192.168.11.11 为主数据库节点;192.168.11.12 为从数据库节点
4、防火墙:https://blog.csdn.net/llwy1428/article/details/99676257
两台虚拟机防火墙均开启端口:5432
]# firewall-cmd --add-port=5432/tcp --permanent
]# firewall-cmd --reload
三、安装、配置
说明:此处以 192.168.11.11 为主数据库;192.168.11.12 为从数据库
1、安装数据库
在主节点安装 PostgreSql 数据库
安装过程:https://blog.csdn.net/llwy1428/article/details/105143053
2、在主数据库 192.168.11.11 创建用来备份的账号并设置密码
系统切换为 postgres 用户
[root@localhost ~]# su - postgres
打开命令行
-bash-4.2$ psql
创建数据库用户并设置密码(用户名中字母要小写)
CREATE USER 【用户名】 REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '【密码】';
postgres=# CREATE USER dbbak REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '123456';
3、修改 postgresql.conf 配置文件
需要修改的参数:
(1)wal_level 流复制最高等级replica
(2)max_wal_senders 流复制进程数,一般为主机
(3)wal_keep_segments 保持WAL个数、根据是否有批量写入可适当增减
(4)hot_standby 是/否 允许在恢复期间进行查询
其它参数讲解
切换用户并编辑配置文件
[root@localhost ~]# su - postgres
-bash-4.2$ vim /data/pgdata/postgresql.conf
wal_level = replica
max_wal_senders = 10
wal_keep_segments = 64
hot_standby = on
4、编辑 hosts 映射
[root@localhost ~]# vim /etc/hosts
5、修改 pg_hda.conf 配置文件
-bash-4.2$ vim /data/pgdata/pg_hba.conf
添加热备用户 dbbak 的连接配置
注意:此处应限制为从节点的连接,该配置的第三列配置为前文创建的热备用户:“dbbak”
host replication dbbak db.slave.bak md5
说明:最后一行第四列是在 /etc/hosts 中配置的从节点的 主机名和 IP 的映射
6、重启主服务器的数据库服务
[root@localhost ~]# systemctl restart postgresql-11
7、在从节点上安装 PostgreSql 数据库服务
创建目录并赋予权限(不需要初始化数据库)
8、使用命令,将主节点的数据文件同步到从节点
/usr/pgsql-11/bin/pg_basebackup -h 【主服务器地址】 -p 【主服务器端口】 -D 【从服务器数据目录】 -P -U 【主服务器热备用户】
从节点切换用户
[root@localhost ~]# su - postgres
在从节点上执行
-bash-4.2$ /usr/pgsql-11/bin/pg_basebackup -h 192.168.11.11 -p 5432 -D /data/pgdata/ -P -U dbbak
输入主节点服务器的密码
Password: ***********
查看从节点的数据目录:
-bash-4.2$ ll /data/pgdata/
9、修改从节点上的 postgresql.conf 配置文件(可选)
-bash-4.2$ vim /data/pgdata/postgresql.conf
修改从节点数据库端口为 5433
10、创建配置文件 recovery.conf
-bash-4.2$ vim /data/pgdata/recovery.conf
写入内容
standby_mode ='on'
primary_conninfo ='host=192.168.11.11 port=5432 user=dbbak password=123456'
trigger_file ='/tmp/pgsql_master'
说明:'host=192.168.11.11 port=5432 user=dbbak password=123456' 是主节点的热备用户及连接信息
11、从节点启动数据库服务
[root@localhost ~]# systemctl start postgresql-11
12、分表在主从节点上检查数据库的启动状态:
主节点:
从节点:
13、在主节点执行命令检查搭建结果:
[root@localhost ~]# su - postgres
-bash-4.2$ psql
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = 'dbbak';
四、测试:
1、在主节点创建数据库:
postgres=# create database dbtest owner postgres;
2、在从节点查看:
至此,Centos7.x PostgreSql 数据库 主从同步环境搭建、配置操作完毕!