如果应用程序与数据库的连接数超过最大值,则新的连接无法建立。建议每天检查连接数,及时释放空闲的连接或者增加最大连接数。
操作步骤
-
以操作系统用户omm登录数据库主节点。
-
使用如下命令连接数据库。
gsql -d mogdb -p 8000
复制mogdb为需要连接的数据库名称,8000为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((MogDB x.x.x build 56189e20) compiled at 2022-01-07 18:47:53 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. MogDB=#
复制 -
执行如下SQL语句查看连接数。
MogDB=# SELECT count(*) FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;
复制显示类似如下的信息,其中2表示当前有两个应用连接到数据库。
count ------- 2 (1 row)
复制 -
查看现有最大连接数。
MogDB=# SHOW max_connections;
复制显示信息如下,其中200为现在的最大连接数。
max_connections ----------------- 200 (1 row)
复制
异常处理
如果显示的连接数接近数据库的最大连接数max_connections,则需要考虑清理现有连接数或者增加新的连接数。
-
执行如下SQL语句,查看state字段等于idle,且state_change字段长时间没有更新过的连接信息。
MogDB=# SELECT * FROM pg_stat_activity where state='idle' order by state_change;
复制显示类似如下的信息:
datid | datname | pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | xact_start | quer y_start | state_change | waiting | enqueue | state | resource_pool | query -------+----------+-----------------+----------+----------+------------------+--------------- -+-----------------+-------------+-------------------------------+------------+-------------- -----------------+-------------------------------+---------+---------+-------+--------------- +---------------------------------------------- 13626 | mogdb | 140390162233104 | 10 | gaussdba | | | | -1 | 2016-07-15 14:08:59.474118+08 | | 2016-07-15 14 :09:04.496769+08 | 2016-07-15 14:09:04.496975+08 | f | | idle | default_pool | select count(group_name) from pgxc_group; 13626 | mogdb | 140390132872976 | 10 | gaussdba | cn_5002 | 10.180.123.163 | | 48614 | 2016-07-15 14:11:16.014871+08 | | 2016-07-15 14 :21:17.346045+08 | 2016-07-15 14:21:17.346095+08 | f | | idle | default_pool | SET SESSION AUTHORIZATION DEFAULT;RESET ALL; (2 rows)
复制 -
释放空闲的连接数。
查看每个连接,并与此连接的使用者确认是否可以断开连接,或执行如下SQL语句释放连接。其中,pid为上一步查询中空闲连接所对应的pid字段值。
MogDB=# SELECT pg_terminate_backend(140390132872976);
复制显示类似如下的信息:
MogDB=# SELECT pg_terminate_backend(140390132872976); pg_terminate_backend ---------------------- t (1 row)
复制如果没有可释放的连接,请执行下一步。
-
增加最大连接数。
gs_guc set -D /mogdb/data/dbnode -c "max_connections= 800"
复制其中800为新修改的连接数。
-
重启数据库服务使新的设置生效。
说明:
重启MogDB操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。gs_om -t stop && gs_om -t start
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1392次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
750次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
546次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
461次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
416次阅读
2025-04-11 09:38:42
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
388次阅读
2025-03-21 10:34:08
天津市政府数据库框采结果公布!
通讯员
320次阅读
2025-04-10 12:32:35
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
318次阅读
2025-04-07 09:44:54
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
301次阅读
2025-04-14 09:40:20
从HaloDB体验到国产数据库兼容性
多明戈教你玩狼人杀
271次阅读
2025-04-07 09:36:17