主备需要数据库版本一致
环境:
192.168.0.21:5432 (主库)
192.168.0.20:15432 ( 备份库)
centos7
1 postgresql 安装
1.1 centOS 安装方式
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql12 -y
yum install postgresql12-server -y
1.2 ubuntu18.04 安装方式
vim /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
保存退出vimwget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
apt-get install postgresql-12
以下为 centos7 配置方式,ubuntu 大致相同
1.3 设置数据存放位置
mkdir -p /home/data/master/
sudo chown -R postgres:postgres /home/data/master/
vim /usr/lib/systemd/system/postgresql-12.service
修改 Environment=PGDATA= 为
Environment=PGDATA=//home/data/master/
保存退出 vim
初始化数据postgresql-12-setup initdb
设置开机自启动systemctl enable postgresql-12
启动数据库systemctl start postgresql-12
2 配置主数据库
vim /home/data/master/postgresql.conf
# 监听所有 ip
listen_addresses = '*'
# 端口
port = 5432
# 连接数
max_connections = 200
# 开启密码认证,默认账号密码为 postgres/postgres
password_encryption = md5
# 将事务提交方式改为本地提交,默认为 on,在 on 模式下事务需要等备份数据库一起提交,这里改为 local 让备份数据库不影响主库
synchronous_commit = local
vim /home/data/master/pg_hba.conf
# 允许所有人登录,生产环境需修改为合适的配置
host all all 0.0.0.0/0 md5
# 设置备份数据库连接
host replication postgres 192.168.0.20/32 md5
重启数据库systemctl restart postgresql-12
如果数据库已经在运行,且没有更改关键信息(postgresql.conf中有提到 change requires restart )则可以使用下面的命令重新加载配置systemctl reload postgresql-12
3 配置备份数据库
备份数据库安装和上面一致(1),不进行初始化和启动操作,如果有初始化或者启动,则需要删除data 数据目录的所有数据,我这里的数据目录为 /home/data/back/
初始化从库,从主库初始化同步pg_basebackup -h 192.168.0.21 -p 5432 -U postgres -F p -P -R -D /home/data/back/
输入密码sudo chown -R postgres:postgres /home/data/back/
vim /home/data/back/postgresql.conf
port = 15432
# 设置主库信息
primary_conninfo = 'application_name=back host=192.168.0.21 port=5432 user=postgres password=postgres'
# 标识这是一个备份库
hot_standby = on
# 同步到最新数据
recovery_target_timeline = 'latest'
自行设置 pg_hba.conf
重启数据库systemctl restart postgresql-12
4 配置完成自行验证
来源:CSDN
作者:kaiqiu666
链接:https://blog.csdn.net/kaiqiu666/article/details/104697164