暂无图片
pg生产都用什么高可用方案
我来答
分享
刚阿德
2023-12-26
pg生产都用什么高可用方案

现在想搞pg高可用,各位生产上都是用的什么高可用,对pg版本有什么要求吗

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
yBmZlQzJ

在实现PostgreSQL的高可用性方案时,有几种常用的方法可供选择。其中一种常见的方法是使用基于PostgreSQL复制的方案,例如通过Repmgr来实现。Repmgr是一款开源的高可用软件,它建立在PostgreSQL复制的基础上,提供了从安装到部署、设置到管理以及监控的一体化解决方案。此外,它还支持手动和自动的高可用切换方案,确保在需要时能够顺利切换。

另一种值得考虑的方法是采用分布式数据库集群方案,如Citus。Citus将PostgreSQL扩展到大型分布式数据库集群中,允许水平扩展以适应更大的数据量和更高的写入、查询性能需求。它将节点分为协调器节点和工作节点,协调器节点负责集群元数据的管理,而应用程序的查询则发送到协调器节点进行处理。

在选择高可用方案时,需要考虑项目的需求以及现有环境的特点。不同的方案可能适用于不同规模和复杂度的应用场景。同时,对于PostgreSQL的版本要求也可能因方案而异,因此在实施之前最好详细了解所选方案的兼容性和最佳实践。无论选择哪种方案,都建议在生产环境中进行充分的测试和验证,以确保其稳定性和可靠性。

暂无图片 评论
暂无图片 有用 7
打赏 1
伟鹏

我们这儿用的是zookeeper集群+patroni集群+postgresql集群的架构,实现故障自动切换,目前版本是15

暂无图片 评论
暂无图片 有用 1
打赏 1
超越无限D
  1. 流复制(Streaming Replication):这是PostgreSQL自带的高可用方案,通过主节点实时将数据复制到一个或多个从节点。流复制支持一主多从的架构,提供了数据冗余和故障切换的能力。对于PostgreSQL版本,要求至少为9.1版本以上。
  2. 逻辑复制(Logical Replication):逻辑复制提供了更灵活的数据复制选项,允许复制过程中的数据转换。它比流复制更灵活,但配置和管理可能更为复杂。对于PostgreSQL版本,要求至少为10版本以上。
  3. Clustering解决方案:如Patroni、Citus等,这些解决方案提供了高可用、故障切换和横向扩展的功能。这些方案通常需要PostgreSQL的一个扩展或模块。
  4. 第三方工具和解决方案:如pgCluster、pgPrime等,这些工具提供了图形界面和额外的功能,帮助管理员更容易地管理PostgreSQL的高可用性。

对于PostgreSQL版本的要求,一般来说,新版本的PostgreSQL支持更高可用性的特性。因此,建议使用最新稳定版本的PostgreSQL。此外,为了获得最佳的性能和稳定性,建议定期更新PostgreSQL版本,并参考官方文档进行配置和管理。

在选择高可用方案时,需要考虑业务需求、数据量、网络架构和预算等因素。不同的方案适用于不同的场景,因此需要根据实际情况进行评估和选择。同时,建议在生产环境之前先在测试环境中验证所选的高可用方案,确保其能够满足实际需求并具备足够的性能和稳定性。

暂无图片 评论
暂无图片 有用 2
打赏 0
zzzdwd

在生产环境中,PostgreSQL的高可用方案通常分为几种不同的类型,包括基于共享存储的方案、WAL日志同步的方案、基于触发器的同步方案以及使用中间件的方案等。

  1. 基于共享存储的方案:这类方案通常使用SAN(Storage Area Network)存储,通过在多个数据库服务器之间共享磁盘存储来实现数据的同步。当一台服务器宕机时,可以将存储卷挂载到其他服务器上,从而实现故障切换。例如,可以使用DRBD(Distributed Replicated Block Device)模拟共享存储,结合Corosync和Pacemaker等集群软件实现高可用性。

  2. WAL日志同步或流复制同步的方案:PostgreSQL原生支持基于WAL(Write-Ahead Logging)日志的复制,也称为流复制。在这种模式下,主数据库会将WAL日志同步到一个或多个从数据库上,从数据库应用这些日志以保证数据的一致性。当主数据库发生故障时,可以从剩余的从数据库中选举出一个新的主数据库来继续提供服务。Patroni和Repmgr是两款常用的基于PostgreSQL复制的高可用管理工具,它们提供了自动故障发现和恢复的功能,可以简化高可用架构的配置和管理。

  3. 基于触发器的同步方案:这类方案通过在数据库中设置触发器,捕获数据变动并同步到其他数据库服务器。例如,Slony、Bucardo等工具就采用了这种方式。这些工具允许指定数据同步的策略,如哪些表需要同步,以及数据同步的方向等。

  4. 使用中间件的方案:中间件方案通常会在客户端和数据库之间提供一个通信层,负责路由客户端请求到正确的数据库服务器,并提供负载均衡、请求重试等功能。Pgpool-II就是一个例子,它除了提供连接池和查询负载均衡之外,还支持PostgreSQL的主从复制和自动故障转移。

在选择高可用方案时,需要根据实际的业务需求、成本考量以及技术维护能力来做出决定。每种方案都有其优势和适用场景,且某些场景下可能会结合使用多种方案来提高系统的可靠性和可用性。

暂无图片 评论
暂无图片 有用 1
打赏 0
subverter

1、配置代理HAProxy ,使用PgBouncer 2、使用repmgr 插件实现主从故障转移

3、使用Patroni 分布式架构实现高可用

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 外部表 访问hive ,hive_service这个插件有吗?
回答 1
https://mvnrepository.com/artifact/hive/hiveservice/1.0.0是在找这个么?<!https://mvnrepository.com/artif
一个SQL加了一个无关紧要的条件后,执行计划改变,执行时间增加上百倍,请高手帮忙看看
回答 3
你走主键索引的话,查询相关数据后,还需要回表把其他字段查询出来。
mysql 、postgresql、达梦、人大金仓这些数据库如何将delete的表里的数据快速恢复?
回答 1
已采纳
mysql8.0貌似也支持了。。而且可以用binlogpg需要用备份archive来恢复了
postgreSQL any 可以用多个值查询吗?
回答 2
可以的,in列表系统也会转成any,可以通过执行计划观察。
pg的双缓存
回答 1
PageCache是操作系统的文件系统数据缓存机制,以加速文件的读写操作,可以通过cat/proc/meminfo查看其大小,大致为Cached和Buffers字段值相加。SharedBuffers是
Postgresql update后的returning的结果集有没有办法保存?
回答 1
从v9.6开始可以使用COPY保存,例如copy(updatexxxsetb'ccc'wherea100returning)tostdout;
dbforge for postgresql连接opengauss问题
回答 3
dbforgeforpostgresql2.3.278Opengauss3.0,还是不行.
autovacuum不能收集哪些类型表的统计信息?
回答 1
在PostgreSQL中,autovacuum进程是自动维护和处理数据库中的重复行、死锁、未使用的索引等问题的关键组件之一。然而,autovacuum进程无法收集以下类型表的统计信息:临时表(Temp
Oracle在国内会不会越来越落寞?
回答 9
已采纳
随着信创进程的推进,国内Oracle的使用越来越少会是必然,至于会不会像DB2一样,就看后续国产数据库能不能出现能够匹配Oracle的数据库,造成这种现状不是Oracle做商业调整就能扭转的,主要还是
如何设置PG用户pg_dump权限?在用户拥有DQL,DML,DDL的权限下,如果禁止其pg_dump的权限
回答 1
已采纳
PG权限管理类似mysql,你无法禁止用户对属于自己的schema的导出权限。