centos

centos pgadmin如何设置连接池

小樊
35
2025-09-20 06:36:44
栏目: 智能运维

在CentOS上为pgAdmin设置连接池的方法

一、方法一:使用pgAdmin内置连接池功能(适用于简单场景)

pgAdmin 4提供了内置的轻量级连接池功能,适合小规模应用或测试环境。操作步骤如下:

  1. 打开pgAdmin 4:通过浏览器访问http://<服务器IP>:5050(默认端口),使用管理员账号登录。
  2. 创建/编辑服务器连接
    • 左侧导航栏点击**“服务器”→右键选择“创建”→“服务器”(或选中现有连接→右键“属性”**)。
  3. 配置基础连接参数
    • 在**“常规”**标签页中,填写服务器名称(自定义)、主机地址(如localhost)、端口(默认5432)、用户名/密码(具有数据库访问权限的账号)。
  4. 启用并配置连接池
    • 切换至**“高级”标签页,在“Connection Pooling”**(连接池)部分:
      • 勾选**“Enable Connection Pooling”**(启用连接池)。
      • 设置**“Pool Size”**(连接池大小,即最大连接数,建议根据并发需求调整,如10-50)。
      • (可选)设置**“Min Connections”(最小空闲连接数,默认1)、“Timeout”**(连接超时时间,默认30秒)。
  5. 保存并测试
    • 点击**“保存”**→双击创建的连接,验证是否能正常连接数据库。

二、方法二:使用外部连接池工具(推荐用于生产环境)

pgAdmin本身不提供高级连接池管理(如连接复用、负载均衡),建议使用PgBouncer(轻量级)或Pgpool-II(功能丰富)作为外部连接池。以下以PgBouncer为例:

1. 安装PgBouncer

在CentOS上通过yum包管理器安装:

sudo yum install epel-release -y  # 确保EPEL仓库可用
sudo yum install pgbouncer -y
2. 配置PgBouncer

编辑PgBouncer的主配置文件/etc/pgbouncer/pgbouncer.ini

[databases]
# 定义要池化的数据库(替换为你的数据库名)
mydb = host=localhost port=5432 dbname=mydb

[pgbouncer]
# 监听地址和端口(pgAdmin将连接至此)
listen_addr = 127.0.0.1
listen_port = 6432

# 认证方式(md5需配合userlist.txt使用)
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt

# 连接池模式(transaction/ session/ statement)
pool_mode = transaction  # 推荐:事务级连接池(最常用)

# 连接数限制
max_client_conn = 100    # 最大客户端连接数
default_pool_size = 20   # 每个客户端的默认池大小
min_pool_size = 5        # 每个客户端的最小池大小(可选)

创建userlist.txt(存放数据库用户凭证):

"myuser" "mypassword"  # 格式:"用户名" "密码"
3. 启动PgBouncer
sudo systemctl start pgbouncer
sudo systemctl enable pgbouncer  # 开机自启
4. 配置pgAdmin连接PgBouncer

在pgAdmin中创建新连接时,修改连接参数:

注意事项

通过以上方法,可在CentOS上为pgAdmin配置高效的数据库连接池,提升应用性能并减少数据库负载。

0
看了该问题的人还看了