一、数据库安装
根据自身环境需要选择安装、操作
1、yum 指定目录安装
2、yum 直接安装
3、编译安装
4、PostgreSql 基本操作
5、Centos7 yum 安装、配置 PgAdmin4
6、Centos7 PostgreSql 数据库安装扩展
7、Centos7 PostgreSql 数据库使用FDW扩展
8、Centos7 postgresql v11 安装时序数据库 TimescaleDB
9、Windows10 使用 PgAdmin 备份 PostgreSql 数据库
二、虚拟机安装配置
1、选择(或安装)两台 Centos7.x 虚拟机
系统下载:http://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/
2、系统安装:javascript:void(0)
3、网络配置:javascript:void(0)
说明:此处以 192.168.11.11 为主数据库节点;192.168.11.12 为从数据库节点
4、防火墙:javascript:void(0)
两台虚拟机防火墙均开启端口:5432
]# firewall-cmd --add-port=5432/tcp --permanent
]# firewall-cmd --reload
三、安装、配置
说明:此处以 192.168.11.11 为主数据库;192.168.11.12 为从数据库
1、安装数据库
在主节点安装 PostgreSql 数据库
安装过程:javascript:void(0)
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 数据库 主从同步环境搭建、配置操作完毕!