千家信息网

如何进行PostgreSQL中Pgbouncer的问题分析

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关如何进行PostgreSQL中Pgbouncer的问题分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。知识的学习是越学越
千家信息网最后更新 2025年01月31日如何进行PostgreSQL中Pgbouncer的问题分析

今天就跟大家聊聊有关如何进行PostgreSQL中Pgbouncer的问题分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

知识的学习是越学越不会,越学发现的"黑洞"和自己的欠缺就会越多,所以一直报以心虚的状态来学,可能理解多年的东西他变化了,或者当初就没有理解的彻底,而不自知.

Pgbouncer 看似是一个轻量级的连接缓冲,今天就来整理一下,来看看知识的黑洞

问题1

我的pgbouncer 到底是应该是和PostgreSQL 安装在一起,还是和别的数据库中间件一样单独安装或者DOCKER 安装.

个人认为,pgbouncer属于轻量级的缓冲池程序,和postgresql本身部署在一起,并没有什么不妥,从功能上来讲比较单一,并没有特别复杂的功能,例如读写分离,或者语句的变更,或者语句的审核等复杂的功能, pgbouncer 就是要提高postgresql的进程连接的复用,提高postgresql 的处理高并发连接中的性能表现.应该是一个PG 自己安装一套pgbouncer, 这里对比proxysql 功能和特点完全不一致,虽然都是数据库的中间件缓冲.

问题2 我修改了pgbouncer 的配置,我在从启动中连接会断吗? 会有多大的影响.

这边做了一个测试, 分两块来说

1 你的pool mode 是session, 在我们并发3000连接中,重启动,整体的连接失效,程序报错

2 你的pool mode 是 transaction 我们还是并发3000连接,重启动,在重启动,设置suspend 的状态是,正常工作的连接失效, 后续重启动完毕后,连接立即复原.

从影响性方面也分两个面来说,如果你是session 则你整体的这个session 会断掉,如果你业务繁忙,则非常不建议你,随便的进行重启的活动

transaction 方面,因为连接的特性使然,如果在少量业务(低峰期),必须要重启,还是可以考虑重启动,

但怎样都避免不了,连接要报错的必然,所以对于某些新建库,新加应用的场景,还请相关人员考虑,在非业务,或低峰期,与业务和商量好,在进行相关操作.

问题3 postgresql 有高可用,但pgbouncer 有没有高可用,如果没有怎么办?

在默认的情况下,PG的集群中应该只有一台服务器提供写服务, 如果将pgbouncer 与pg安装在一起,则这个问题并没有意义, 因为pgbouncer 并不提供判断主从的功能,并且也不提供故障转移的功能,所以如果通过VIP 的方式访问,则与pgbouncer 高可用没有关联.

问题4 在使用pgbouncer 的过程,中,如果出现网络问题,或者数据库本身无法和pgboucner连接的情况后,网络或数据库的服务在恢复后,到底连接会怎么样,

例如我正在查找一张大表, 网络闪断,或服务器重启.

举例,我们查询一个表的200行记录, 图一是不使用pgbouncer 查询的截图,图二 是使用pgbouncer 后的截图.

从上图可以看到,在服务器无响应的情况下, pgbouncer 到底做了什么, 如果光从应用和数据库连接中的故障处理来说,其实还好, 但如果将Pgbouncer 安装在数据库一端,这样其实对应用有的时候是隐蔽了某些关于服务器方面的例如重启,或者其他方面的问题,在程序端可能一方看是减少了报错的,那么问题的分析方和反映方就变换为了数据库端.

那么问题可以在深入一点,如果此时没有查询,那pgboucner的 日志中还会有刚才的体现吗? 结果是不会.

问题 5 在使用pgbouncer的情况下, 如果设置了使用了transaction ,但是连接中设置了与session等级的配置参数,将不会起作用, 同时即使使用了 session的方式,也会因为下面的配置而出现不同的结果.具体请查询相关的参数解释,另外在使用transaction 模式,但应用程序对访问有针对session 方式的强相关性,也会出现问题,请相关的架构设计和程序人员能在程序设计时考虑.

看完上述内容,你们对如何进行PostgreSQL中Pgbouncer的问题分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

问题 数据 数据库 功能 程序 服务 情况 服务器 应用 查询 分析 业务 内容 方式 方面 知识 网络 还是 缓冲 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 福州云间菡网络技术有限公司 oracle数据库链接 raima数据库教程 360服务器怎样调整极速模式 高新区诚信软件开发代理商 完美世界手游角色服务器查询 游戏软件开发培训年龄限制 软件开发关键指标 会员数据库保护器 基岩版服务器怎么装光影 泰为软件开发有限公司 交城集装客互联网科技有限公司 注重网络安全的企业有哪些 重庆服务器淘汰选哪家 高血压影响入职软件开发吗 广东腾安网络技术有限公司 海南储存服务器 服务器管理员指定硬盘权限 沈阳鹏博网络技术有限公司 盾构刀具管理软件开发 美股股票软件开发 工商银行软件开发中心容易吗 12123服务器异常 小学二年级网络安全画纯画 网络安全管理经验 智慧校园 最便宜的服务器多少钱一月 信息系统网络安全秋检 高血压影响入职软件开发吗 恩德尔网络技术服务有限公司 湖北省孝感市网络安全宣传周活动
0