返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

查看数据库连接数
背景信息
当用户连接数达到上限后,无法建立新的连接。因此,
当数据库管理员发现某用户无法
连接到数据库时,需要查看是否连接数达到了上限。控制数据库连接的主要以下几种选项。

全局的最大连接数:由运行参数max_connections 指定。

某用户的连接数:在创建用户时由CREATE ROLE 命令的CONNECTION LIMIT
connlimit 子句直接设定,也可以在设定以后用ALTER ROLE 的CONNECTION LIMIT
connlimit 子句修改。

某数据库的连接数:
在创建数据库时,
由CREATE DATABASE 的CONNECTION LIMIT
connlimit 参数指定。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
151
操作步骤
步骤1 以操作系统用户gbase 登录数据库主节点。
步骤2 使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。连接成功后,系
统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gbase=#
步骤3
查看全局会话连接数限制。
postgres=# SHOW max_connections;
max_connections
-----------------
800
(1 row)
其中800 是最大会话连接数。
步骤4 查看已使用的会话连接数。
具体命令请参见表7-8。
除了创建的时候用双引号引起的数据库和用户名称外,
以下命令中用到的数据库名称和
用户名称,其中包含的英文字母必须使用小写。
表7-8 查看会话连接数
描述
命令
查看指定用户的会话
连接数上限。
执行如下命令查看连接到指定用户gbase 的会话连接数上限。其中-1
表示没有对用户gbase 设置连接数的限制。
postgres=# SELECT ROLNAME,ROLCONNLIMIT FROM
PG_ROLES WHERE ROLNAME='gbase';

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
152
rolname | rolconnlimit
----------+--------------
gbase | -1
(1 row)
查看指定用户已使用
的会话连接数。
执行如下命令查看指定用户gbase 已使用的会话连接数。其中,1 表
示omm 已使用的会话连接数。
postgres=# CREATE OR REPLACE VIEW DV_SESSIONS AS
SELECT
sa.sessionid AS SID, 0::integer AS SERIAL#, sa.usesysid AS USER#,
ad.rolname AS USERNAME
FROM pg_stat_get_activity(NULL) AS sa
LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid)
WHERE sa.application_name <>
'JobScheduler’;
postgres=# SELECT COUNT(*) FROM DV_SESSIONS WHERE
USERNAME='gbase';
count
-------
1
(1 row)
查看指定数据库的会
话连接数上限。
执行如下命令查看连接到指定数据库postgres 的会话连接数上限。

中-1 表示没有对数据库postgres 设置连接数的限制。
postgres=# SELECT DATNAME,DATCONNLIMIT FROM
PG_DATABASE WHERE DATNAME='postgres';
datname | datconnlimit
----------+--------------
postgres |
-1
(1 row)
查看指定数据库已使
用的会话连接数。
执行如下命令查看指定数据库postgres 上已使用的会话连接数。其
中,1 表示数据库postgres 上已使用的会话连接数。
postgres=# SELECT COUNT(*) FROM PG_STAT_ACTIVITY
WHERE DATNAME='postgres';
count
-------
1
(1 row)
查看所有用户已使用
会话连接数。
执行如下命令查看所有用户已使用的会话连接数。
postgres=# CREATE OR REPLACE VIEW DV_SESSIONS AS
SELECT sa.sessionid AS SID, 0::integer AS SERIAL#, sa.usesysid AS

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
153
USER#, ad.rolname AS USERNAME FROM
pg_stat_get_activity(NULL) AS sa LEFT JOIN pg_authid ad
ON(sa.usesysid = ad.oid) WHERE sa.application_name <>
'JobScheduler’;
postgres=# SELECT COUNT(*) FROM DV_SESSIONS;
count
-------
10
(1 row)
----结束

GBase 8a MPP Cluster V9.5.2.X 版本加载功能支持从通用数据服务器拉取数据,

持ftp/http/hdfs/sftp 等多种协议,支持kafka 集群作为数据源加载数据。
以下简要描述Red Hat Enterprise Linux 6.2 平台上FTP、HTTP、HDFS、SFTP 四
种通用文件服务器的配置方法。

+---------------------------+
1 row in set
示例3:参数值为字符串,不区分大小写。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
660
gbase> SELECT LEAST('B','A','C') FROM dual;
+--------------------+
| LEAST('B','A','C') |
+--------------------+
| A
|
+--------------------+
1 row in set
gbase> SELECT LEAST('B','a', 'C') FROM dual;
+---------------------+
| LEAST('B','a', 'C') |
+---------------------+
| a
|
+---------------------+
1 row in set
示例4:参数值为字符串,字符串参数前加上BINARY,区分大小写。
gbase> SELECT LEAST(BINARY 'B',BINARY 'a', 'C') FROM dual;
+-----------------------------------+
| LEAST(BINARY 'B',BINARY 'a', 'C') |
+-----------------------------------+
| B
|
+-----------------------------------+
1 row in set
示例5:参数值中包含NULL,则执行结果为NULL。
gbase> SELECT LEAST('C',NULL,'B') FROM dual;
+---------------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
661
| LEAST('C',NULL,'B') |
+---------------------+
| NULL
|
+---------------------+
1 row in set