目录

pgsql-24 连接池与连接管理

24 - 连接池与连接管理

1. 📖 概述

连接池管理数据库连接,提高性能和资源利用率。

2. 🔄 PgBouncer

2.1 安装配置

# Ubuntu
sudo apt install pgbouncer

# 配置 /etc/pgbouncer/pgbouncer.ini
[databases]
mydb = host=localhost port=5432 dbname=mydb

[pgbouncer]
listen_addr = *
listen_port = 6432
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
pool_mode = transaction
max_client_conn = 1000
default_pool_size = 25

2.2 连接模式

  • session: 客户端连接期间独占连接
  • transaction: 事务结束后释放连接(推荐)
  • statement: 每条SQL后释放

3. 🔧 应用层连接池

3.1 Go连接池

db.SetMaxOpenConns(25)
db.SetMaxIdleConns(5)
db.SetConnMaxLifetime(5 * time.Minute)

4. 📚 下一步

学习慢查询分析