操作場景
數據庫默認支持一定數量的連接,管理員用戶可以通過管理數據庫的連接,了解當前數據庫的連接性能,或增加連接限制使更多用戶或應用程序可以同時連接到數據庫。
支持的連接數規格
集群支持的連接數與集群節點規格有關:
支持連接數規格表
| 參數 | 節點規格 | CN連接數 | DN連接數 |
|---|---|---|---|
| max_connections | vCPUs < 16 | 512 | CN連接數* 2 |
| max_connections | vCPUs > 16 && <= 32 | 1024 | CN連接數* 2 |
| max_connections | other | 2048 | CN連接數* 2 |
說明comm_max_stream,poolsize,max_prepared_transactions策略同max_connections 。
查看最大連接數
- 使用SQL客戶端工具連接集群中的數據庫。
- 執行以下命令:
SHOW max_connections;
界面顯示的結果與以下信息類似,表示數據庫默認支持的最大連接數為200。
max_connections
-----------------
200
(1 row)
查看已使用的連接數
- 使用SQL客戶端工具連接集群中的數據庫。
- 支持查看如下表所示的連接數場景。
須知
除了創建的時候用雙引號引起的數據庫和用戶名稱外,以下命令中用到的數據庫名稱和用戶名稱,其中包含的英文字母必須使用小寫。
查看連接數介紹表
描述 命令 查看指定用戶的會話連接數上限。
執行如下命令查看連接到指定用戶dbadmin的會話連接數上限。
SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ? ROLNAME='dbadmin';
查詢結果類似如下信息,其中“-1”表示沒有對用戶dbadmin設置連接數的限制。
?rolname? | rolconnlimit
? ----------+--------------
? ?dwsadmin |?????????? -1
? (1 row)查看指定用戶已使用的會話連接數。
執行如下命令查看指定用戶dbadmin已使用的會話連接數。
SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='dbadmin';
查詢結果類似如下信息,其中,“1”表示dbadmin已使用的會話連接數。
?count
? -------
? ???? 1
? (1 row)查看指定數據庫的會話連接數上限。
執行如下命令查看連接到指定數據庫postgres的會話連接數上限。
SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE ? DATNAME='postgres';
查詢結果類似如下信息,其中“-1”表示沒有對數據庫postgres設置連接數的限制。
?datname? | datconnlimit
? ----------+--------------
? ?postgres |?????????? -1
? (1 row)查看指定數據庫已使用的會話連接數。
執行如下命令查看指定數據庫postgres上已使用的會話連接數。
SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE ? DATNAME='postgres';
查詢結果類似如下信息,其中,“1”表示數據庫postgres上已使用的會話連接數。
?count?
? -------
? ???? 1
? (1 row)查看所有用戶已使用會話連接數。
執行如下命令查看所有用戶已使用的會話連接數。
SELECT COUNT(*) FROM ? PG_STAT_ACTIVITY;
? ?count
? -------
? ???? 10
? (1 row)