一个伪linux粉丝的blog

  1. 首页
  2. unix/linux
  3. 正文

pq: sorry, too many clients already

12月 29, 2020 306点热度 0人点赞 0条评论

1. 问题描述

某客户反馈 系统报内部错误, pq sorry too many clients already,影响客户使用流水线。

 

2. 原因分析

看提示很明显,pq 数据库连接满了,于是查看数据库连接进程。

查看最大连接数,为100(即默认值)

show max_connections;

查看  当前活动连接数 ,显示为 104,超了4个

select count(1) from pg_stat_activity;

查看数据库剩余连接数:

select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(select count(*) from pg_stat_activity) as now_conn from pg_settings where name = 'max_connections') t;

同样得到 -4 的超出结果

再查看一下有那些会话

select datid,datname,pid,usesysid,usename,application_name,client_addr,client_port,state,query from pg_stat_activity;

深层原因

上周客户增加了 builder节点,这里runtime就会增加20个会话,所以很容易超100。

 

3. 解决方法

1,临时踢一下idle的会话,很快又超过了100了,无效。

select pg_terminate_backend(pid) from pg_stat_activity where state=’idle’;

2,修改最大连接数,重启pq,问题解决。

找到pg容器的配置文件,一般在 normal节点。

修改 /data/postgres/postgresql.conf 里面的 max_connections 为200

4. 后续改进

1,增加builder节点时考虑同时增加pg连接数

2,提前修改pg默认连接数

相关文章:

  1. mysql学习笔记-转
  2. k8s-set-capabilities-for-a-container
  3. SLUB: Unable to allocate memory on node -1
  4. How to cleanup Postgres WAL files
标签: postgres
最后更新:2月 2, 2021

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

归档
分类
  • network / 324篇
  • Uncategorized / 115篇
  • unix/linux / 114篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 20篇
  • 英语学习 / 3篇
标签聚合
VPS postgres Google Voice Linux d90 纵贯线 邮件归档 网站运营 kernel dreamhost k8s debian CentOS 泰国 日全食 黑莓8700 天翼live nexus ipv6 ssh 职责 Google jira gitlab Ubuntu Nginx ldap 刷机 虚拟主机 docker

COPYRIGHT © 2008-2022 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang