PGBOUNCER
9 篇PgBouncer 1.26.1 中文文档
本手册以 2026-10-14 发布的 PgBouncer 1.26.1 为基准。与此前版本的差异请参阅 发布说明。 pgbouncer 是 PostgreSQL 的连接池。任何目标应用都可以像连接 PostgreSQL 服务器一样连接到 pgbouncer,pgbouncer 将负责创建到实际服务器的连接,或者复用已有的连接。 pgbouncer 的目标是降低向 PostgreSQL 建立新连接所带来的性能损耗。 为了在连接池化时不破坏事务语义,pgbouncer 在轮换连接时支持多种池化类型 …
本手册以 2026-10-14 发布的 PgBouncer 1.26.1 为基准。与此前版本的差异请参阅 发布说明。 pgbouncer 是 PostgreSQL 的连接池。任何目标应用都可以像连接 PostgreSQL 服务器一样连接到 pgbouncer,pgbouncer 将负责创建到实际服务器的连接,或者复用已有的连接。 pgbouncer 的目标是降低向 PostgreSQL 建立新连接所带来的性能损耗。 为了在连接池化时不破坏事务语义,pgbouncer 在轮换连接时支持多种池化类型 …
常见问题解答
如何连接到 PgBouncer? PgBouncer 扮演 PostgreSQL 服务器的角色,只需将客户端指向 PgBouncer 端口即可。 如何在多个服务器之间实现查询负载均衡? PgBouncer 支持在数据库连接字符串中指定以逗号分隔的主机列表。使用 load_balance_hosts=round-robin 时,新建服务端连接会在该列表中的主机之间轮换。例如: [databases] app = host=pg1,pg2 port=5432 dbname=app …
如何连接到 PgBouncer? PgBouncer 扮演 PostgreSQL 服务器的角色,只需将客户端指向 PgBouncer 端口即可。 如何在多个服务器之间实现查询负载均衡? PgBouncer 支持在数据库连接字符串中指定以逗号分隔的主机列表。使用 load_balance_hosts=round-robin 时,新建服务端连接会在该列表中的主机之间轮换。例如: [databases] app = host=pg1,pg2 port=5432 dbname=app …
社区
教程 为 Postgres Plus Standard Server 配置 PgBouncer 对 PgBouncer 概念的精彩概述。 连接池究竟有什么意义? 讨论各种池化模式之间的差异。 支持 项目主页(GitHub) 问题追踪(GitHub) PgBouncer 专区(Stack Overflow) 聊天室(Gitter) 社区讨论(GitHub)
教程 为 Postgres Plus Standard Server 配置 PgBouncer 对 PgBouncer 概念的精彩概述。 连接池究竟有什么意义? 讨论各种池化模式之间的差异。 支持 项目主页(GitHub) 问题追踪(GitHub) PgBouncer 专区(Stack Overflow) 聊天室(Gitter) 社区讨论(GitHub)
版本变更日志
PgBouncer 1.26.x 2026-10-14 - PgBouncer 1.26.1 - “Only startup once(只启动一次)” 安全 修复 CVE-2026-107350:当客户端连接到不存在的数据库时,PgBouncer 1.17.0 至 1.26.0 会处理在 SCRAM 身份验证期间发送的第二条 StartupMessage。知道 auth_file 中某个用户密码的攻击者可利用此问题,以任何其他使用 SCRAM 身份验证的用户身份登录,包括管理员和后端超级用户。 …
PgBouncer 1.26.x 2026-10-14 - PgBouncer 1.26.1 - “Only startup once(只启动一次)” 安全 修复 CVE-2026-107350:当客户端连接到不存在的数据库时,PgBouncer 1.17.0 至 1.26.0 会处理在 SCRAM 身份验证期间发送的第二条 StartupMessage。知道 auth_file 中某个用户密码的攻击者可利用此问题,以任何其他使用 SCRAM 身份验证的用户身份登录,包括管理员和后端超级用户。 …
源码发布版下载
PgBouncer 1.26 文件 日期 大小 校验值 pgbouncer-1.26.1.tar.gz 2026-10-14 898647 bytes sha256 pgbouncer-1.26.0.tar.gz 2026-09-23 897943 bytes sha256 PgBouncer 1.25 文件 日期 大小 SHA256 pgbouncer-1.25.2.tar.gz 2026-05-08 865371 bytes sha256 pgbouncer-1.25.1.tar.gz …
PgBouncer 1.26 文件 日期 大小 校验值 pgbouncer-1.26.1.tar.gz 2026-10-14 898647 bytes sha256 pgbouncer-1.26.0.tar.gz 2026-09-23 897943 bytes sha256 PgBouncer 1.25 文件 日期 大小 SHA256 pgbouncer-1.25.2.tar.gz 2026-05-08 865371 bytes sha256 pgbouncer-1.25.1.tar.gz …
PgBouncer 编译与安装
编译 PgBouncer 可使用基于 Autoconf 的构建系统,或较新的、仍处于实验阶段的 Meson 构建系统。目前生产构建和打包仍推荐使用 Autoconf。未来版本预计会将 Meson 作为默认构建方式并移除 Autoconf,因此欢迎测试 Meson 并报告问题。编译依赖以下组件: Libevent 2.0+ pkg-config OpenSSL 1.0.1+(TLS 支持) 支持 C11 的 C 编译器 (可选)c-ares,作为 Libevent 内置 evdns 的替代方案 …
编译 PgBouncer 可使用基于 Autoconf 的构建系统,或较新的、仍处于实验阶段的 Meson 构建系统。目前生产构建和打包仍推荐使用 Autoconf。未来版本预计会将 Meson 作为默认构建方式并移除 Autoconf,因此欢迎测试 Meson 并报告问题。编译依赖以下组件: Libevent 2.0+ pkg-config OpenSSL 1.0.1+(TLS 支持) 支持 C11 的 C 编译器 (可选)c-ares,作为 Libevent 内置 evdns 的替代方案 …
pgbouncer 命令用法
语法 pgbouncer [-d][-v][-u user] <pgbouncer.ini> pgbouncer -V|-h 在 Windows 系统上,选项如下: pgbouncer.exe [-v][-u user] <pgbouncer.ini> pgbouncer.exe -V|-h 用于设置 Windows 服务的附加选项: pgbouncer.exe --regservice <pgbouncer.ini> pgbouncer.exe --unregservice …
语法 pgbouncer [-d][-v][-u user] <pgbouncer.ini> pgbouncer -V|-h 在 Windows 系统上,选项如下: pgbouncer.exe [-v][-u user] <pgbouncer.ini> pgbouncer.exe -V|-h 用于设置 Windows 服务的附加选项: pgbouncer.exe --regservice <pgbouncer.ini> pgbouncer.exe --unregservice …
配置:pgbouncer.ini
描述 配置文件采用 “ini” 格式。节名称位于 [ 和 ] 之间。以 ; 或 # 开头的行被视为注释并忽略。当 ; 和 # 出现在行中间时,不会被识别为特殊字符。 通用设置 logfile 指定日志文件。若要以守护进程方式运行(-d),需要设置此项或 syslog。 日志文件保持打开状态,因此在日志轮转后,应执行 kill -HUP 或在控制台执行 RELOAD;。在 Windows 上,必须停止并重启服务。 注意:设置 logfile 本身并不会关闭向 stderr 的日志输出,如需关闭请 …
描述 配置文件采用 “ini” 格式。节名称位于 [ 和 ] 之间。以 ; 或 # 开头的行被视为注释并忽略。当 ; 和 # 出现在行中间时,不会被识别为特殊字符。 通用设置 logfile 指定日志文件。若要以守护进程方式运行(-d),需要设置此项或 syslog。 日志文件保持打开状态,因此在日志轮转后,应执行 kill -HUP 或在控制台执行 RELOAD;。在 Windows 上,必须停止并重启服务。 注意:设置 logfile 本身并不会关闭向 stderr 的日志输出,如需关闭请 …
特性
连接轮换时,按激进程度分为以下几种策略: 会话池化 最温和的方式。当客户端连接时,将为其分配一个服务端连接,并在客户端保持连接期间始终持有。当客户端断开时,服务端连接将放回连接池。此模式支持所有 PostgreSQL 特性。 事务池化 仅在事务期间为客户端分配服务端连接。当 PgBouncer 检测到事务结束时,服务端连接将放回连接池。此模式会破坏 PostgreSQL 的部分会话级特性,只有在应用程序配合、不使用不兼容特性的情况下才可使用。不兼容特性详见下表。 语句池化 最激进的方式。这是事 …
连接轮换时,按激进程度分为以下几种策略: 会话池化 最温和的方式。当客户端连接时,将为其分配一个服务端连接,并在客户端保持连接期间始终持有。当客户端断开时,服务端连接将放回连接池。此模式支持所有 PostgreSQL 特性。 事务池化 仅在事务期间为客户端分配服务端连接。当 PgBouncer 检测到事务结束时,服务端连接将放回连接池。此模式会破坏 PostgreSQL 的部分会话级特性,只有在应用程序配合、不使用不兼容特性的情况下才可使用。不兼容特性详见下表。 语句池化 最激进的方式。这是事 …