在2台RHEL 8服务器上安装并配置PostgreSQL 14的主从架构

为了在两台RHEL 8服务器上安装并配置PostgreSQL 14的主从架构,你需要按照以下步骤操作。这将包括安装PostgreSQL、初始化数据库、调整配置、设置归档目录等。请确保你具有root或具有适当权限的用户访问权限来执行这些操作。

1. 安装PostgreSQL 14

在两台服务器上都执行以下步骤:

  1. 添加PostgreSQL Yum仓库

    sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. 安装PostgreSQL

    sudo dnf -y install postgresql14-server
    

2. 初始化数据库

在两台服务器上都执行:

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

3. 更改数据目录

  1. 停止PostgreSQL服务

    sudo systemctl stop postgresql-14
    
  2. 创建新的数据目录

    sudo mkdir -p /data/postgres/pgdata
    sudo chown -R postgres:postgres /data/postgres
    
  3. 初始化新的数据目录

    sudo -u postgres /usr/pgsql-14/bin/initdb -D /data/postgres/pgdata
    
  4. 更新PostgreSQL服务文件
    编辑 /usr/lib/systemd/system/postgresql-14.service,找到 Environment=PGDATA= 行并更改为:

    Environment=PGDATA=/data/postgres/pgdata
    

    然后重新加载systemd配置:

    sudo systemctl daemon-reload
    

4. 配置PostgreSQL

在主服务器上:

  1. 修改postgresql.conf
    编辑 /data/postgres/pgdata/postgresql.conf 文件,设置以下参数:

    listen_addresses = '*'
    max_connections = 2000
    wal_level = replica
    archive_mode = on
    archive_command = 'cp %p /home/postgres/archives/%f'
    
  2. 修改pg_hba.conf
    编辑 /data/postgres/pgdata/pg_hba.conf,添加以下行以允许从服务器连接:

    host replication all 192.168.197.129/32 md5
    

    同时允许远程连接:

    host all all 0.0.0.0/0 md5
    

在从服务器上:

  1. 修改postgresql.conf
    编辑 /data/postgres/pgdata/postgresql.conf 文件,设置以下参数:

    listen_addresses = '*'
    max_connections = 2000
    hot_standby = on
    
  2. 修改pg_hba.conf 与主服务器相同。

5. 设置归档目录

在两台服务器上都执行以下步骤:

sudo mkdir -p /home/postgres/archives
sudo chown -R postgres:postgres /home/postgres/archives

6. 设置主从复制

  1. 在主服务器上创建复制用户

    sudo -u postgres psql -c "CREATE USER replicator REPLICATION LOGIN CONNECTION LIMIT 2 ENCRYPTED PASSWORD 'your_password';"
    
  2. 在从服务器上配置复制
    停止PostgreSQL服务:

    sudo systemctl stop postgresql-14
    

    清理旧的数据目录:

    sudo -u postgres rm -rf /data/postgres/pgdata/*
    

    使用pg_basebackup进行基础备份:

    sudo -u postgres pg_basebackup -h 192.168.197.128 -D /data/postgres/pgdata -U replicator -v -P --wal-method=fetch
    

    创建recovery.conf文件:

    sudo -u postgres bash -c "cat > /data/postgres/pgdata/recovery.conf <<EOF
    standby_mode = 'on'
    primary_conninfo = 'host=192.168.197.128 port=5432 user=

replicator password=your_password’
trigger_file = ‘/tmp/MasterNow’
EOF"


### 7. 启动PostgreSQL服务在两台服务器上:```bash
sudo systemctl start postgresql-14
sudo systemctl enable postgresql-14

8. 验证设置

  1. 在主服务器上,检查是否有连接到从服务器的复制流程。
  2. 在从服务器上,检查是否能够查询数据并确认处于只读模式。

注意事项

  • 确保防火墙和安全组设置允许这两台服务器在相应端口(默认是5432)上相互通信。
  • 保持密码的安全性和复杂性。
  • 以上步骤可能需要根据实际环境进行适当调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卡通渲染总结《一》

本文是在看完之前的综述论文《Cartoon Style Rendering》的总结&#xff0c;论文时间是2008年有点早&#xff0c;但有一定启发意义。 前言 首先卡通渲染是非真实化渲染&#xff08;NPR&#xff09;的一个部分.而NPR旨在模拟出手工插图的效果例如油画、墨水画、漫画风格作品。 …

常用类与比较器

常用类 学一个类&#xff0c;先搞清楚继承关系&#xff0c;再看源码 包装类Wrapper jdk5之前是手动装箱拆箱 jdk5及之后是自动装箱拆箱&#xff08;调用valueOf方法&#xff08;自动默认&#xff09;/创建对象的构造方法&#xff0c;XXXvalue方法…

mongdb配置ssl

mongodb5.0.9 centos7.6 x86 1、正常启动mongod -f mongodb.conf 【前言】 ssl配置流程步骤&#xff0c;按照以下顺序处理即可。 1.生成证书&#xff0c;根证书&#xff0c;服务端证书&#xff0c;客户端证书 2.配置服务端ssl配置&#xff0c;测试she…

vue form表单的封装--使用的是elementUI

该组件是一个动态生成表单的Vue组件&#xff0c;通过传入formList参数和插槽的方式实现表单项的定制化渲染 组件的封装 HCommonFormItem 根据传入的"formList"参数生成一组表单项&#xff0c;并通过插槽&#xff08;slot&#xff09;将表单项渲染出来。 在component…

编程模拟支付宝能量产生过程--数据控制流

#模拟支付宝蚂蚁森林的能量产生过程 behavior_points { # 定义行为对应的积分"步行": 2,"生活缴费": 10,"线下支付": 5,"网络购票": 5,"共享单车": 10 }total_points 0 # 初始化总积分while True: # 开…

【Python】基础练习题_文件及数据格式化

&#xff08;1&#xff09;从键盘输入一些字符&#xff0c;逐个把它们写到磁盘文件"test1.txt"上&#xff0c;直到输入一个#为止。 file_name "test1.txt"with open(file_name, "w") as file:while True:char input("请输入字符&#xf…

10倍提升启动的时间?Graalvm打包Springboot+MyBatis实测

graalvm使用前后对比图 相关代码博客&#xff1a;https://blog.csdn.net/weixin_43914278/article/details/134446327 工具大小时间graalvm打包的exe文件84.14MB0.251秒graalvm打包的docker文件121.27MB0.253秒jar包51.34MB2.153秒 解析 文件大小: graalvm打包的Docker文件…

苍穹外卖项目笔记(7)— 微信登录、商品浏览

前言 苍穹外卖项目代码&#xff1a;https://github.com/Echo0701/take-out 1 HttpClient 1.1 介绍 HttpClient 是 Apche Jakarta Common 下的子项目&#xff0c;可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且支持 HTTP 协议最新…

CUDA简介——For循环并行化

1. 引言 前序博客&#xff1a; CUDA简介——基本概念CUDA简介——编程模式 kernel相关语法定义为&#xff1a; kernel函数定义&#xff0c;与常规C函数定义类似。不同之处在于&#xff0c;有__global__关键字。 为说明符&#xff0c;告诉编译器该函数应编译运行在device上&a…

java easyPOI导出一对多数据,设置边框,字体,字体大小

java easyPOI导出一对多数据&#xff0c;设置边框&#xff0c;字体&#xff0c;字体大小 需求总是千奇百怪&#xff0c;解决的方式也可以是多种多样。 今天碰到导出excel是一对多结构的&#xff0c;以往导出的数据都是一条一条的&#xff0c;所以采用的是比较方便简单的方法eas…

linux 路由表的优先级

查看路由规则 [rootlocalhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则&#xff0c;优先级是怎样的&#xff0c;0 代表最低优先级还是最高优先级 在…

pytest-yaml 测试平台.新增项目和用例

基于pytest-yaml-yoyo 框架写的接口测试平台&#xff0c;在web网页平台上维护yaml测试用例&#xff0c;执行用例&#xff0c;并查看allure报告。 pytest-yaml-yoyo 框架简介 pytest-yaml-yoyo 框架是上海-悠悠 2023年自主开发的pytest结合yaml框架。gitee项目地址https://gite…

综合指南:如何创建有效的知识地图?

知识地图是知识管理中的重要工具&#xff0c;使企业能够有效地利用其资产。它促进了解决问题、新人整合和组织学习。此外&#xff0c;它还提高了生产力&#xff0c;实现了数据驱动的决策&#xff0c;并优化了流程。通过捕获和组织有价值的知识资产&#xff0c;它确保了专业知识…

前后端分离vue+Nodejs社区志愿者招募管理系统

1、首页 1)滑动的社区照片册 使用轮播图&#xff0c;对社区的活动纪念与实时事件宣传。 每个图片附有文字链接&#xff0c;点击跳转对应社区要闻具体页。 2)社区公告栏 日常的社区公告以及系统说明在此区域中进行说明与展示。 2、志愿活动 1)志愿活动发布 想发布需要登录 2)志愿…

kubekey部署k8s

服务器配置 nameipmaster192.168.57.61 node1192.168.57.76 master 安装需要2H4G 磁盘空间至少需要20G node1 安装需要4H4G 磁盘空间至少需要50G 安装k8s环境依赖&#xff0c;在每台服务器执行以下命令 命令&#xff1a;yum install -y socat conntrack ebtables ipset 下载…

【C语言】【堆排序实现TOPK问题】写一个堆排序,并且在一百万个数中找出最大的前K个

1.堆排序的实现&#xff1a; 如果要升序输出&#xff0c;则实现大堆 如果要降序输出&#xff0c;则实现小堆 逻辑&#xff1a;&#xff08;升序输出&#xff09; 将堆顶的元素和最后一个元素交换位置&#xff0c;此时左子树和右子树分别仍是大堆的顺序&#xff0c;交换位置后…

保障Adams许可管理数据库安全:备份与恢复的最佳实践

在工程仿真领域&#xff0c;Adams软件是一款广泛应用于动力学分析的工具。然而&#xff0c;随着项目的不断扩大和复杂化&#xff0c;如何备份和恢复Adams许可管理数据库成为了一个重要的问题。为了帮助用户更好地理解和掌握Adams许可管理数据库备份与恢复的最佳实践&#xff0c…

【matlab程序】matlab画螺旋图|旋转图

%% 数学之美====》螺旋线 % 海洋与大气科学 % 20231205 clear;clc;close all; n=10; t=0:0.01:2pin; R=1; xx=nan(length(t),1);yy=nan(length(t),1); for i=1:length(t) xx(i)=Rcos(t(i)); yy(i)=Rsin(t(i)); R=R+1; end figure set(gcf,‘position’,[50 50 1200 1200],‘col…

中文手写数字数据识别

实验环境 python3.7torch1.13.1cu117 torchaudio0.13.1cu117 torchvision0.14.1数据下载地址&#xff1a;Mnist中文手写数字数据集Python资源-CSDN文库 这些汉字包括&#xff1a; 零、一、二、三、四、五、六、七、八、九、十、百、千、万、亿 总共15个汉字&#xff0c;分别…

浅谈ArrayBuffer、Blob和File、FileReader

ArrayBuffer、Blob和File都是JavaScript中处理二进制数据的对象。 ArrayBuffer 用于表示一个通用的、固定长度的原始二进制数据缓冲区。它不能直接操作缓冲区中的数据&#xff0c;而需要通过一个类型化数组TypedArray&#xff08;如Int8Array、Uint8Array等&#xff09;或者一…