centos7搭建postgresql主从(主备)架构

这篇具有很好参考价值的文章主要介绍了centos7搭建postgresql主从(主备)架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇介绍如何在centos7系统搭建一个postgresql主备集群实现最近的HA(高可用)架构。后续更高级的HA模式都是基于这个最基本的主备搭建。

节点规划

ip 主机名 用途
192.168.182.4 node1 主库(读写)
192.168.182.5 node2 备库(只读)

安装PG

在主、备两台节点分别安装好pg11。

参考我的另一篇文章:
https://blog.csdn.net/IndexMan/article/details/131646090

配置主从

4主库执行,以下操作无特殊情况在postgres用户下执行

  • 修改postgresql.conf,修改如下配置项:
# 在文件中修改(此配置仅用于远程访问, 流复制后续还有额外配置):
listen_addresses = '*'
port = 15432
max_connections = 1500       # 最大连接数,据说从机需要大于或等于该值
wal_level = replica
max_wal_senders = 2   		#最多有2个流复制连接
wal_keep_segments = 16  	
wal_sender_timeout = 60s	#流复制超时时间
  • 修改pg_hba.conf,添加图中红框中2行配置
vim pg_hba.conf

centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

  • 赋予权限(root执行)
chown -R postgres:postgres /var/run/postgresql/
  • 启动PG
pg_ctl start
  • 创建流复制用户
su - postgres
psql -h localhost -p 15432
create role replica login replication encrypted password 'abc123';
SELECT rolname from pg_roles;

从库执行

  • 赋权
chown -R postgres:postgres /var/run/postgresql/
  • 从主库复制数据文件到本地
# 先清空原有数据文件(如非空)
rm -rf /home/postgres/pgdata/*
# 执行复制
pg_basebackup -h 192.168.182.4 -p 15432 -U replica -Fp -Xs -Pv -R -D /home/postgres/pgdata

# 输入主库中创建的replica用户密码后,开始同步

centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

  • 更改/home/postgres/pgdata目录权限为700
chmod -R 700 /home/postgres/pgdata/
  • 启动PG
pg_ctl start

centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

验证主从

主库操作
select * from pg_stat_replication;
centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库
select pg_is_in_recovery();
centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

  • 创建数据库、表然后插入1条数据
    centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

备库执行
select pg_is_in_recovery();
centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

  • 查看数据是否正常同步
    centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库
  • 测试插入数据
    centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

配置自启动服务

主、备2台都执行

vim /usr/lib/systemd/system/postgresql-11.service
# 将PGDATA修改为: /home/postgres/pgdata

systemctl enable postgresql-11.service
systemctl start postgresql-11.service

centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库

  • 查看启动状态
systemctl status postgresql-11

centos7搭建postgresql主从(主备)架构,数据库,# PostgreSQL,系统运维,postgresql,架构,数据库文章来源地址https://www.toymoban.com/news/detail-568706.html

到了这里,关于centos7搭建postgresql主从(主备)架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • docker版postgresql数据库主从配置

    参考:postgresql16配置主从 注意项 :当前操作主路径: ~/dockerEnv 【示例路径】 创建 sql 文件,文件路径 dockerEnv/dbInit/a_create_user.sql 注意: 如果在同一个宿主机操作,注意多个 yml 文件的端口映射,不要冲突! 挂载宿主机 sql 文件夹到容器的 docker-entrypoint-initdb.d 路径下,容器启

    2024年04月14日
    浏览(6)
  • postgresql主从搭建

    主从服务器分别安装好postgresql 主库 创建数据库热备帐号replica,密码123456为例,则执行以下命令 打开 pg_hba.conf 配置文件,设置 replica 用户白名单 数据库账号为 replica,从节点的 VPC IPv4 网段为 xx.xx.xx.xx/16,则在 IPv4 local connections 段添加如下内容: 从库 清空从库目录 使用 p

    2024年02月15日
    浏览(2)
  • CentOS7.9 安装postgresql

    # 添加postgres账户 #  修改postgres账号密码 # 安装postgresql # 开通防火墙 # 添加postgres账号到 /etc/sudoers 中 # 切换到 postgres账号 # 初始化数据库 # 启动postgresql

    2024年02月07日
    浏览(6)
  • CentOS7安装Mysql8并进行主从复制配置

    CentOS7安装Mysql8并进行主从复制配置

    CentOS7中安装Mysql8并配置远程连接和修改密码等: CentOS7中安装Mysql8并配置远程连接和修改密码等_霸道流氓气质的博客-CSDN博客 在上面实现安装Mysql8的基础上,克隆出两台机器,修改ip后进行mysql的主从复制搭建。 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记

    2024年02月16日
    浏览(8)
  • centos7安装 postgresql postgis pgrouting

    centos7 源码编译太烦了。直接yum install ...... 一、版本信息: CentOS版本:CentOS Linux release 7.9.2009 (Core) PostgreSQL版本: PostgreSQL 12.0 PostGIS版本:postgis31 二、PostgresSQL + PostGIS 安装 1、官网安装链接: PostgreSQL: Linux downloads  2、升级所有包同时也升级软件和系统内核 yum -y update 3、安装

    2024年02月12日
    浏览(7)
  • MYSQL主从(主备)部署

    MYSQL主从(主备)部署

    1、主机规划,示例环境用配置1主2从 类型 服务器IP 数据库版本 Master 192.168.100.1 Mysql:5.7.27 Save1 192.168.100.2 Mysql:5.7.27 Save2 192.168.100.3 Mysql:5.7.27 2、服务器环境准备 2.1 安装docker 在3台服务器上安装docker,安装过程跳过 2.2 mysql镜像上传 ...... 1、创建数据和配置文件挂载目录(3台服务

    2024年02月06日
    浏览(4)
  • Sqlserver_Oracle_Mysql_Postgresql不同关系型数据库之主从延迟的理解和实验

    关系型数据库主从节点的延迟是否和隔离级别有关联,个人认为两者没有直接关系,主从延迟在关系型数据库中一般和这两个时间有关:事务日志从主节点传输到从节点的时间+事务日志在从节点的应用时间 事务日志从主节点传输到从节点的时间,相关因素有以下2点: 1、事

    2024年02月14日
    浏览(11)
  • Linux centos7 在线及离线安装postgresql12 详细教程

    Linux centos7 在线及离线安装postgresql12 详细教程

    目录 一、在线安装 1、配置yum源 2、安装PostgreSQL 3、初始化PostgreSQL 4、启动PostgreSQL服务 5、修改密码 6、配置远程访问 7、关闭防火墙 8、全关完后,navicat测试 二、离线安装 1、官网找到对应的版本,下好包上传到内网的机器上 2、安装PostgreSQL 3、修改路径 4、初始化PostgreSQL 5、

    2024年02月08日
    浏览(22)
  • 【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)

    【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)

    对数据库架构进行优化是为了提高数据库系统的性能、可扩展性、稳定性和可维护性。MySQL官方说:单表2000万数据,性能就达到瓶颈了,为了保证查询效率需要让每张表的大小得到控制。 再来说,为什么要提高查询效率呢? 除了普通的用户查询操作,增、删、改操作都包含

    2024年02月11日
    浏览(5)
  • 基于x86架构的CentOS7虚拟机通过qemu安装ARM架构CentOS7虚拟机_centos7 arm 网络配置

    基于x86架构的CentOS7虚拟机通过qemu安装ARM架构CentOS7虚拟机_centos7 arm 网络配置

    【原文连接】基于x86架构的CentOS7虚拟机通过qemu安装ARM架构CentOS7虚拟机_centos7 arm_redrose2100的博客-CSDN博客 试过很多版本的在win10系统直接qemu安装arm版linux都失败了,也看到了别人也说这个方式不行得用虚拟机套虚拟机才行的方式,因为我没有ubunto所以搜到大佬的centos虚拟机套

    2024年02月09日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包