管理GaussDB(DWS)数据库连接
操作场景
数据库默认支持一定数量的连接,管理员用户可以通过管理数据库的连接,了解当前数据库的连接性能或增加连接限制,使更多用户或应用程序可以同时连接到数据库。
支持的连接数规格
集群支持的连接数与集群节点规格有关:
参数 |
参数描述 |
CN连接数 |
DN连接数 |
---|---|---|---|
max_connections |
允许和数据库连接的最大并发连接数。 |
800 |
max(VCPU核数/单节点DN数量*120+24, 5000) |
max_pool_size |
CN的连接池与其它某个CN/DN的最大连接数。 |
||
max_prepared_transactions |
设置可以同时处于预备状态的事务的最大数。 |
CN及DN概述详情请参见集群逻辑架构。
查看最大连接数
方式一:集群创建成功后,用户可在GaussDB(DWS)管理控制台上单击指定集群名称,切换至“参数修改”模块查看数据库参数max_connections的取值。
1
|
SHOW max_connections; |
界面显示的结果与以下信息类似,表示数据库默认支持的最大连接数为200。
max_connections ----------------- 200 (1 row)
查看已使用的连接数
- 使用SQL客户端工具连接集群中的数据库。
- 支持查看如表2所示的连接数场景。
除了创建的时候用双引号引起的数据库和用户名称外,以下命令中用到的数据库名称和用户名称,其中包含的英文字母必须使用小写。
表2 查看连接数介绍 描述
命令
查看指定用户的会话连接数上限。
执行如下命令查看连接到指定用户dbadmin的会话连接数上限。
1
SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='dbadmin';
查询结果类似如下信息,其中“-1”表示没有对用户dbadmin设置连接数的限制。
rolname | rolconnlimit ----------+-------------- dwsadmin | -1 (1 row)
查看指定用户已使用的会话连接数。
执行如下命令查看指定用户dbadmin已使用的会话连接数。
1
SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='dbadmin';
查询结果类似如下信息,其中,“1”表示dbadmin已使用的会话连接数。
count ------- 1 (1 row)
查看指定数据库的会话连接数上限。
执行如下命令查看连接到指定数据库gaussdb的会话连接数上限。
1
SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb';
查询结果类似如下信息,其中“-1”表示没有对数据库gaussdb设置连接数的限制。
datname | datconnlimit ----------+-------------- gaussdb | -1 (1 row)
查看指定数据库已使用的会话连接数。
执行如下命令查看指定数据库gaussdb上已使用的会话连接数。
1
SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb';
查询结果类似如下信息,其中,“1”表示数据库gaussdb上已使用的会话连接数。
count ------- 1 (1 row)
查看所有用户已使用会话连接数。
执行如下命令查看所有用户已使用的会话连接数。
1 2 3 4 5
SELECT COUNT(*) FROM PG_STAT_ACTIVITY; count ------- 10 (1 row)