超详细的PostgreSQL工具总结--备份恢复、监控、复制、高可用等
off999 2024-10-08 06:12 28 浏览 0 评论
概述
今天主要介绍一些PostgreSQL的工具,大体上可以分为以下几类:
- 备份恢复工具
- 监控工具
- 逻辑和基于触发器的复制工具
- 多主复制工具
- 高可用和故障转移工具
- 连接池工具
- 表分区工具
- 迁移工具
一、备份恢复工具
1、Barman
Barman (Backup and Recovery Manager-备份恢复管理器) 是一个用Python语言实现的PostgreSQL灾难恢复管理工具,它由第二象限公司(2ndQuadrant)开源并维护。它允许我们在关键业务环境中执行远程备份,为数据库管理员在恢复阶段提供有效的数据保证。Barman最优秀的功能包括备份元数据、增量备份、保留策略、远程回复、WAL文件归档压缩和备份。
Barman (Backup and Recovery Manager) is an open-source administration tool for managing backup and disaster recovery of PostgreSQL servers. It allows your organization to perform remote backups of multiple servers in business critical environments and helps DBAs during the recovery phase.
2、EDB BART
EDB BART(Backup and Recovery Tool -备份恢复工具)是企业级PostgreSQL数据管理策略的关键组件。BART为大规模部署的PostgreSQL服务提供保留策略和基于时间点恢复的实现。BART 2.0版本提供块级别的增量备份。
3、PgBackRest
pgBackRest工具的主要目的是做一款简单可靠的备份恢复工具,以能够无缝的接入到大规模数据库和工作负载中。pgBackRest放弃了其他传统备份工具依赖tar和rsync的套路,它的备份功能都是从软件内部实现的,并采用客户端协议与远程服务器交互。移除了对tar和rsync的依赖,使它能够更好的应对针对特定数据库的备份挑战。客户端远程协议更加灵活,协议可以按照要求限制连接类型以保证备份过程更安全。
二、监控工具
1、PoWA
PoWA(PostgreSQL Workload Analyzer)是PostgreSQL的工作负载分析工具,它收集性能数据并提供实时的图标和图片展示,以帮助我们监控和调优PostgreSQL服务器。它和Oracle AWR或者SQL Server MDW很像。
2、PgCluu
pgCluu是一个PostgreSQL的性能监控和审计工具。它以视图的形式展示您从PostgreSQL数据库集群收集的所有统计信息。它能展示一份完成的数据库集群信息和系统使用率信息。
3、Pgwatch2
Pgwatch2是监控PostgreSQL数据库工具中最易用的一个。它基于Grafana并为PostgreSQL数据库提供开箱即用的监控功能。因为它已经集成到了容器里,所以我们不必担心各种依赖和复杂的安装步骤,几分钟即可将监控搭建完毕,所有的东西都已经提前配置好。我们只需要将数据库连接配置到监控中即可运行正常监控操作。
三、逻辑和基于触发器的复制工具
1、pgLogical
pglogical是采用PostgreSQL扩展插件的形式实现的逻辑复制工具。集成完善,不使用任何触发器和外部程序。该插件作为物理复制的替代者,在有选择性的复制时采用发布/订阅模型,是复制数据的有效方式。
2、Slony-I
Slony-I是PostgreSQL一主多从复制体系的实现,支持级联复制。开发Slony-I的主要目的是为了实现主从复制,该复制体系包含大型数据库系统中对合理配置从系统所要求的所有特征和能力。
Slony-I主要为数据中心和备份站点场景设计,这种场景下通常要求所有节点都是可用的。
3、Bucardo
Bucardo是一个PostgreSQL异步复制系统,允许配置多主多从操作。它是Backcountry.com公司的Jon Jensen和Greg Sabino开发的。
四、多主复制工具
1、BDR
Postgres-BDR(Bi-Directional Replication for PostgreSQL)是世界上第一个开源PostgreSQL多主复制系统,目的是强化生产环境。由第二象限(2ndQuadrant)公司开源并维护,BDR为地理分布集群环境特别设计,使用搞笑的异步逻辑复制方式,支持从2个到48个以上节点在不同地域之间分布。
五、高可用和故障转移工具
1、Repmgr
repmgr是一款开源的、用于PostgreSQL服务器集群复制管理和故障转移的工具。它扩展了PostgreSQL内建的hot-standby能力,可以设置热备份服务器、监控复制、执行管理任务(故障转移、手工切换等)。repmgr是第二象限( 2ndQuadrant)公司开发的。
repmgr is an open-source tool suite for managing replication and failover in a cluster of PostgreSQL servers. It enhances PostgreSQL's built-in hot-standby capabilities with tools to set up standby servers, monitor replication, and perform administrative tasks such as failover or manual switchover operations.
2、PAF
PAF(PostgreSQL Automatic Failover-自动故障转工具)是OCF资源代理贡献给PostgreSQL的,它的初始目的是在Pacemaker管理和PostgreSQL划清规则,让事情变得简单、文档化和有效。如果您的PostgreSQL集群启用了内部流复制,PAF暴露给Pacemaker当前每一个PostgreSQL实例节点的状态:哪个是主,哪个是从,哪个已停止,哪个正在追复制状态等等。如果主节点失败了,Pacemaker默认首先恢复失败的主节点。如果失败不可恢复,PAF会在从节点中选取一个最好的(与已失败主节点数据最为接近)提升为新的主节点。
3、Patroni
Patroni是一个模板,它使用Python为你提供一个自己订制的,高可用的解决方案,为最大程度的可用性,它的配置信息存储在像ZooKeeper, etcd或者Consul中。如果DBAs,DevOps工程师或者SRE正在寻找一个在数据中心中快速部署高可用PostgreSQL方案,或者其他的用途,Patroni 能提供帮助。
4、Stolon
Stolon是一个cloud native的PostgreSQL高可用管理工具。它之所以是cloud native的是因为它可以在为容器内部的PostgreSQL提供高可用(Kubernetes 集成),而且还支持其他种类的基础设施(比如:cloud IaaS,旧风格的基础设施等)
六、Connection Pooling Tools
1、PgBouncer
PgBouncer是Skype的研发人员于2007年开发的连接池工具。在那以后的很多年里,该项目已经由很多开发者参与改进,但是无论怎么变,其降低PostgreSQL连接代价的角色一直未曾改变。PgBouncer允许PostgreSQL数据库操作比其自身所能提供的最大连接数更大的客户端访问。它本质上只追踪每一个客户端连接,然后基于配置信息,创建一些客户端连接并基于先进先服务的原则服务于客户端访问。
2、PgPool-II
pgpool-II也是连接池,我们通常也习惯称它为pgpool。它是另一个流行的连接代理,它早于PgBouncer一年左右的时间发布(2006年下半年发布)。pgpool的使用范围非常关,所能提供的功能包括:基于查询的复制,连接池功能,负载均衡,并行查询等等,pgpool的一个重要特定就是连接池。如果我们有两台PostgreSQL服务器,我们想使用虚拟IP,这样客户端就不会感受到主数据库切换的影响。有时候,为了在服务器之间移动IP地址,首先需要从主数据库服务器上把IP移除,然后在另外一台上重建,这就回中断活动链接,导致短暂的服务不可用。使用pgpool可以缓存服务器直到另一台服务器提升上来,pgpool会从内部处理故障转移,在应用和客户端的角度,数据库似乎从来没有下过线。
七、表分区工具
1、Pg_Partman
pg_partman是PostgreSQL的一个扩展插件,用于创建和管理基于时间或者基于序列的表分区。也支持多级子分区。子表和触发器都由扩展插件自身管理。已经有数据的表也能很容易的添加细粒度的分区。可选的保留策略能够自动删除不再需要的分区。后台工作进程(BGW)能够自动运行分区维护定时执行任务,而不需要依赖于linux cron等程序从外部进行维护。
2、pg_Pathman
pg_pathman是PostgreSQL Pro公司开源的扩展插件,可以为大型分布式数据库提供优化的分区解决方案。使用pg_pathman可以给大型数据库不停机分区,加速分区表查询,动态管理和增加分区,为分区增加外部表,操作联合分区等。
八、迁移工具
1、Ora2pg
Ora2Pg是一个用于将Oracle或MySQL数据库迁移到PostgreSQL的免费工具。它能连接到Oracle数据库,然后自动扫描和导出源端的表结构或者数据,转化为PostgreSQL数据库SQL脚本。Ora2Pg可以当作Oracle数据库的反向引擎,用于大型企业级数据库迁移或者Oracle数据复制到PostgreSQL数据库等场景。它易于使用,不需要任何Oracle数据库背景,你所需要做的仅仅是建立与Oracle数据库的连接而已。
Ora2Pg is a free tool used to migrate an Oracle database to a PostgreSQL compatible schema. It connects your Oracle database, scan it automaticaly and extracts its structure or data, it then generates SQL scripts that you can load into PostgreSQL.
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
如果你觉得这篇文章对你有帮助, 请小小打赏下.
相关推荐
- u盘在电脑上怎么找出来(u盘在电脑上怎么找到)
-
在电脑中找不到u盘,是因为系统没有自动识别出来,手动打开即可,具体的解决步骤如下:1、在桌面上点击我的电脑,右键,管理。2、打开管理界面,点击储存。3、进到储存页面。4、到这一步,也就可以看到了,有这...
- 联想一体机怎么进入bios(联想一体机怎么进入u盘启动)
-
所需工具:联想Lenovo品牌一体机、启动U盘。具体步骤如下:1、联想一体机从U盘启动设置步骤如下重启联想一体机,启动过程中按F1进入BIOS,部分机型则是开机按Enter键,进入之后再按F12选择进...
- 如何装ghost系统盘(ghost装机教程)
-
ghost是不能做系统c盘,它是一种对硬盘和分区制作成映像文件进行备份和恢复的工具软件,是不能进行操作系统安装。这个软件的使用目的是,当我们安装配置好操作系统以后,用ghost软件对c盘进行备份,或者...
- 加密u盘如何格式化(加密u盘如何格式化手机)
-
1,点击系统与安全进入电脑的控制面板界面,点击上方的系统与安全的选项,在系统界面找到最下方的管理工具功能组。2,选中u盘选择管理工具下面的创建并格式化硬盘分区,点击弹出磁盘管理的界面,在这个里面选中你...
- 万能显卡驱动离线版pc(万能显卡驱动离线版)
-
万用驱动是综合各电脑硬件的性能而制做的软件,对于大多数的电脑硬件驱动都好用,但对于少数品牌电脑驱动要求严格的,就不灵了。有的硬件用万能驱动后,使用效果不佳,就是因为没有完全驱动好。所以,知名品牌电脑硬...
- 笔记本windows8系统下载(笔记本电脑系统win8)
-
在电脑上面就可以下载,打开浏览器搜索windous8系统会出现一些下拉选择,选择第一条或者选择有官网字样的,就直接有下载按钮,然后点击下载就可以了win8可以支持现在可以见到的所有Photosho...
- win 11(win 11 25h2)
-
Windows11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备。于2021年6月24日发布,2021年10月5日发行。Windows11提供了许多创新...
- 手机视频恢复软件免费版下载
-
手机视频删了怎么恢复 一、安卓手机视频恢复 1.打开电脑,移动鼠标,进入互盾安卓恢复大师官网,下载并安装该软件。手机连接至电脑。手机视频删了怎么恢复 2.打开运行互盾安卓恢复大师,在软件界面看到...
- diy电脑装机教程(diy电脑组装步骤)
-
1,看价格。根据自己的预算价格,选择适合该价格的电脑。注意不要以过高的价格买到配置过低的电脑;2,看性能。根据自己需要的电脑性能,以合理的价格购买。注意不要以过高的价格买到配置过低的电脑。电脑的配置如...
- u盘莫名其妙要格式化(u盘总是要格式化什么意思)
-
如果您在使用U盘时突然收到提示需要格式化的消息,这可能是由于以下原因之一引起的:U盘感染病毒:U盘中可能存在恶意病毒,这些病毒可能会导致U盘无法正常使用。当您尝试打开U盘时,系统会提示您进行格式化操作...
- win7家庭版原版(win7家庭版价格)
-
你的win7旗舰版应该是个盗版软件,在你使用的过程中你可能触碰到了后台升级,升级完以后就变成了家庭版了,在你不知不觉中被改变的,厄这个软件属于盗版的,厄升级完以后没什么大区别,这个旗舰版家庭版在家里面...
- win10自动更新失败怎么办(win10自动升级失败)
-
安装更新失败有许多原因。WindowsUpdate需要能够扫描您的计算机以了解需要哪些更新,并能够下载和安装这些更新。如果某个阶段遇到问题,则可能阻止某个更新安装到计算机中。有关错误或失败的详细信...
- 截图的几种方法(截图的几种方法有哪些)
-
第一种截图方式:按printScreen键。按一下键盘上的printScreen键以后,整个屏幕会被截取下来,截图会默认保存在剪贴板中。第二种截图方式:使用微信截图。进入聊天界面,我们会发...
- 电脑装了两个系统怎么切换(电脑安装2个系统怎么更换启动)
-
1.点击运行打开电脑点击左下角的开始菜单栏选项,右击鼠标在序列栏中选择运行打开。2.输入msconfig接着在运行的输入框中输入msconfig点击确定即可打开系统配置。3.点击引导打开系统配置的页面...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
