百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

新手如何快速搭建多套PostgreSQL集群

bigegpt 2025-02-03 11:28 16 浏览

环境说明

名称

说明

操作系统

RockyLinux9.3

内存

4GB

数据库管理软件

CLup

主机1

PG01-10.16.18.163

主机2

PG02-10.16.18.164

主机3

PG03-10.16.18.165

1. 安装数据库软件

我们使用官方的源安装,参考PostgreSQL: Downloads,获取源

选择操作系统(数据库的版本不需要特意选择),当前测试环境是RockyLinux9

然后根据提示信息,安装PostgreSQL软件源

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

禁用掉操作系统默认的PostgreSQL版本

sudo dnf -qy module disable postgresql

安装指定版本的PostgreSQL数据库,这里我们先安装12的版本

sudo dnf install -y postgresql12-server postgresql12-contrib

RHEL9系列的当前只能支持PostgreSQL12及以上版本的了,要想安装旧版本要么自己编译,要么下载其他编译好的。

  • contrib:这个是随PostgreSQL分发默认携带的插件包,例如pg_stat_statements。

安装13的版本

sudo dnf install -y postgresql13-server postgresql13-contrib

安装14的版本

sudo dnf install -y postgresql14-server postgresql14-contrib

安装15的版本

sudo dnf install -y postgresql15-server postgresql15-contrib

安装16的版本

sudo dnf install -y postgresql16-server postgresql16-contrib

查看软件目录,默认都是安装在/usr下面,以pgsql-xx命名的

.
├── bin
├── games
├── pgsql-12
├── pgsql-13
├── pgsql-14
├── pgsql-15
├── pgsql-16
...

2. 安装数据库管理软件

这里使用的是中启乘数开发的PostgreSQL数据库管理软件CLup,安装部署参考文档:

都是一键安装的命令,安装部署起来很快,这里我们使用开源版本,商业版未注册的话也能使用,但是Agent端会有20个总CPU核心数的限制,集群数量限制为3个。开源版本没有核心数和集群数量限制,但是功能没有商业版的全,比如没有监控告警、备份恢复等。

3. 创建PostgreSQL集群

单台主机上允许创建多个PostgreSQL实例,下面我们将使用三台虚拟机,快速搭建PostgreSQL12~PostgreSQL16一主两备的集群。其思路主要是为不同版本的PostgreSQL数据库分配不同的属主、目录及端口号,这样一台主机上就可以同时运行多套PostgreSQL数据库集群。

开始之前我们先在三台机器上创建好目录/data

mkdir /data

默认的权限是drwxr-xr-x就可以。

首次创建集群时,需要先创建一个VIP池,VIP(虚拟IP)是提供给集群高可用使用的,当切换主库时,VIP也会飘到新主库上去:

现在我们登录CLup,然后点击HA管理->集群定义->创建集群->创建PostgreSQL流复制集群:

填写相关信息,其中操作系统用户不存在时需要指定下UID:

继续填写集群数据库的相关信息

然后点击下一步,后面是集群探测的信息和数据库参数,我们使用默认值,直接跳到提交这一步

查看创建日志,看到Success说明创建成功了

我们查看下集群详情页(HA管理->详情)

检查流复制状态,这个实际上是在主库上查了pg_stat_replication视图

后面我们创建其他几个版本的集群

4. 登录数据库

商业版可以在CLup页面上登录,开源版本没有这个功能。这里我们使用ssh登录主机,然后再登录数据库用户,下面以PostgreSQL12的版本为例。

登录操作系统用户

su - pg12

登录数据库(CLup在创建数据库时会在.bashrc文件中添加用户的环境变量)

psql -Upostgres

查看流复制信息

postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 49235
usesysid | 10
usename | postgres
application_name | 10.16.18.164
client_addr | 10.16.18.164
client_hostname |
client_port | 57172
backend_start | 2024-09-03 16:46:47.787031+08
backend_xmin |
state | streaming
sent_lsn | 0/7000000
write_lsn | 0/7000000
flush_lsn | 0/7000000
replay_lsn | 0/7000000
write_lag |
flush_lag |
replay_lag |
sync_priority | 0
sync_state | async
reply_time | 2024-09-03 17:37:31.193257+08
-[ RECORD 2 ]----+------------------------------
pid | 49243
usesysid | 10
usename | postgres
application_name | 10.16.18.165
client_addr | 10.16.18.165
client_hostname |
client_port | 39854
backend_start | 2024-09-03 16:46:54.665056+08
backend_xmin |
state | streaming
sent_lsn | 0/7000000
write_lsn | 0/7000000
flush_lsn | 0/7000000
replay_lsn | 0/7000000
write_lag |
flush_lag |
replay_lag |
sync_priority | 0
sync_state | async
reply_time | 2024-09-03 17:37:31.176141+08

相关推荐

或者这些Joplin插件也可以帮助你的笔记应用再一次强大

写在前面距离上次分享《搭建私有全平台多端同步笔记,群晖NAS自建JoplinServer服务》已过去一段时间,大家是否开始使用起来了呢?如果你和我一样已经使用过Joplin有一段时间了,那或许你也会...

Three.JS教程4 threejs中的辅助类

一、辅助类简介Three.js提供了一些辅助类(Helpers)以帮助我们更容易地调试、可视化场景中的元素。ArrowHelepr:创建箭头辅助器;AxisHelper:创建坐标轴辅助器;BoxH...

第2章 还记得点、线、面吗(二)(第二章还能敲钟吗)

glbgltf模型(webvrmodel)-gltf模型下载定制,glb模型下载定制,三维项目电商网站在线三维展示,usdz格式,vr模型网,网页VR模型下载,三维模型下载,webgl网页模型下载我...

如何检查Linux系统硬件信息?从CPU到显卡,一网打尽!

你可能会问:“我为什么要关心硬件信息?”答案很简单:硬件是Linux系统的根基,了解它可以帮你解决很多实际问题。比如:性能调优:知道CPU核心数和内存大小,才能更好地调整程序运行参数。故障排查:系统卡...

SpriteJS:图形库造轮子的那些事儿

从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...

平时积累的FPGA知识点(6)(fpga经典应用100例)

平时在FPGA群聊等积累的FPGA知识点,第六期:1万兆网接口,发三十万包,会出现掉几包的情况,为什么?原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes,用IP的话,IP会自带约束。...

芯片逻辑调度框架设计 都需要那些那些软件工具

设计芯片逻辑调度框架通常需要使用以下软件工具:1.逻辑设计工具:例如Vivado、Quartus、SynopsysDesignCompiler等,用于设计和实现逻辑电路。2.仿真工具:例如Mo...

ZYNQ与DSP之间EMIF16通信(正点原子领航者zynq之fpga开发指南v3)

本文主要介绍说明XQ6657Z35-EVM高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。[基于TIKeyStone架构C6000系列TMS320C6...

好课推荐:从零开始大战FPGA(从零开始的冒险4399)

从零开始大战FPGA引子:本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“...

业界第一个真正意义上开源100 Gbps NIC Corundum介绍

来源:内容由「网络交换FPGA」编译自「FCCM2020」,谢谢。FCCM2020在5月4日开始线上举行,对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍,我们对该文章进行了翻译,并对其中...

高层次综合:解锁FPGA广阔应用的最后一块拼图

我们为什么需要高层次综合高层次综合(High-levelSynthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++...

Xilinx文档编号及其内容索引(部分)

Xilinx文档的数量非常多。即使全职从事FPGA相关工作,没有几年时间不可能对器件特性、应用、注意事项等等有较为全面的了解。本文记录了我自使用Xilinx系列FPGA以来或精读、或翻阅、或查询过的文...

Xilinx Vivado联合Modelsim软件仿真

引言:Xilinx公司Vivado开发软件自带仿真工具,可以实现一般性能的FPGA软件仿真测试,其测试执行效率以及性能都不如第三方专用仿真软件Modelsim强。本文我们介绍下如何进行Vivado20...

体育动画直播是怎么做出来的?从数据到虚拟赛场的科技魔法!

你是否见过这样的比赛直播?没有真实球员,却能看梅西带球突破?足球比赛变成动画版,但数据100%真实?电竞比赛用虚拟形象直播,选手操作实时同步?这就是体育动画直播——一种融合实时数据、游戏引擎和AI的...

Dialogue between CPC and political parties of neighboring countries held in Beijing

BEIJING,May26(Xinhua)--TheCommunistPartyofChina(CPC)inDialoguewithPoliticalPartiesof...