更新时间:2024-06-29 GMT+08:00

资源管理函数

资源管理模块相关函数介绍。

gs_increase_except_num(unique_sql_id int8)

描述:作业异常信息记录函数。入参要求必须大于0。调用该函数后会将作业异常次数+1,同时将作业最新异常时间更新为当前时间。

返回值类型:bool

示例:

1
2
3
4
5
select gs_increase_except_num(111);
gs_increase_except_num
------------------------
t
(1 row)

gs_increase_except_num(unique_sql_id int8,except_num int4)

描述:作业异常信息记录函数。入参要求必须大于0。调用该函数后会将作业异常次数加except_num,同时将作业最新异常时间更新为当前时间。

返回值类型:bool

示例:

1
2
3
4
5
select gs_increase_except_num(111, 4);
gs_increase_except_num
-----------------------
t
(1 row)

gs_increase_except_num(unique_sql_id int8,except_num int4, except_time int8)

描述:作业异常信息记录函数。入参要求必须大于0。调用该函数后会将作业异常次数加except_num,同时将作业最新异常时间更新为except_time,except_time为时间戳,该函数主要用于内部调用。

返回值类型:bool

示例:

1
2
3
4
5
select gs_increase_except_num(111, 4, 714623414421256);
gs_increase_except_num
-----------------------
t
(1 row)

gs_update_blocklist_hash_info(unique_sql_id int8, is_remove boolean)

描述:用于更新内存中unique_sql_id对应的黑名单信息。

  • is_remove为true时,表示从系统表GS_BLOCKLIST_QUERY中移除unique_sql_id对应黑名单信息。
  • is_remove为false时,表示在系统表GS_BLOCKLIST_QUERY中增加unique_sql_id对应黑名单信息。

返回值类型:bool

示例:

1
2
3
4
5
select gs_update_blocklist_hash_info(111, false);
gs_update_blocklist_hash_info
------------------------------
t
(1 row)

gs_update_blocklist_hash_info()

描述:用于作业黑名单信息重建,该函数会从系统表GS_BLOCKLIST_QUERY中读取最新的黑名单信息,并更新表中黑名单信息。

返回值类型:bool

示例:

1
2
3
4
5
select gs_update_blocklist_hash_info();
gs_update_blocklist_hash_info
------------------------------
t
(1 row)

gs_append_blocklist(unique_sql_id int8)

描述:用于新增作业黑名单。即在系统表GS_BLOCKLIST_QUERY中新增一个黑名单,并更新GS_BLOCKLIST_QUERY中黑名单信息。

返回值类型:bool

示例:

1
2
3
4
5
select gs_append_blocklist(111);
gs_append_blocklist
--------------------
t
(1 row)

gs_remove_blocklist(unique_sql_id int8)

描述:用于从作业黑名单中移除一个作业。即从系统表GS_BLOCKLIST_QUERY中移除一个黑名单,并更新GS_BLOCKLIST_QUERY中黑名单信息。

返回值类型:bool

示例:

1
2
3
4
5
select gs_remove_blocklist(111);
gs_append_blocklist
--------------------
t
(1 row)

gs_wlm_rebuild_except_rule_hash()

描述:用于重建当前节点的异常规则内存hash表,异常规则的生效阈值由监控线程实时从内存hash获取,hash异常时可以使用该函数进行rebuild恢复。

返回值类型:bool

示例:

1
2
3
4
5
select gs_wlm_rebuild_except_rule_hash();
gs_wlm_rebuild_except_rule_hash
--------------------
t
(1 row)

gs_wlm_readjust_user_space(oid)

描述:用户永久存储空间校准函数。入参为用户oid,入参为0的情况下,会校准所有用户的永久存储空间。

返回值类型:text

示例:

1
2
3
4
5
select gs_wlm_readjust_user_space(0);
gs_wlm_readjust_user_space
----------------------------
Exec Success
(1 row)

pgxc_wlm_readjust_schema_space()

描述:Schema永久存储空间校准函数。

返回值类型:text

示例:

1
2
3
4
5
select pgxc_wlm_readjust_schema_space();
pgxc_wlm_readjust_schema_space
--------------------------------
Exec Success
(1 row)

pgxc_wlm_readjust_relfilenode_size_table()

描述:空间统计校准函数,不重建PG_RELFILENODE_SIZE系统表,重新校准用户和schema空间。

由于校准函数执行时与其余业务之间的事务隔离性,校准函数对其它的正在执行的业务不可见,导致校准函数会漏掉此类业务的空间变化,为避免校准之后出现空间差误,建议用户使用空间校准函数时,应选择空间大小稳定无变化的时候执行校准。

返回值类型:text

示例:

1
2
3
4
5
select pgxc_wlm_readjust_schema_space();
pgxc_wlm_readjust_relfilenode_size_table
-----------------------------------------
Exec Success
(1 row)

pgxc_wlm_readjust_relfilenode_size_table(integer)

描述:空间统计校准函数。

由于校准函数执行时与其余业务之间的事务隔离性,校准函数对其它的正在执行的业务不可见,导致校准函数会漏掉此类业务的空间变化,为避免校准之后出现空间差误,建议用户使用空间校准函数时,应选择空间大小稳定无变化的时候执行校准。

参数:取值范围为0~4,不同的入参值代表不同的校准粒度。

  • 入参为0(默认入参为0):不重建PG_RELFILENODE_SIZE系统表,重新校准用户和schema空间。
  • 入参为1:重建PG_RELFILENODE_SIZE系统表,并且重新校准用户和schema空间。
  • 入参为2:重建PG_RELFILENODE_SIZE系统表。
  • 入参为3:重新校准schema空间。
  • 入参为4:重新校准用户空间。

返回值类型:text

示例:

1
2
3
4
5
SELECT * FROM pgxc_wlm_readjust_relfilenode_size_table(1);
    result
--------------
 Exec success
(1 row)

pgxc_wlm_get_schema_space(cstring)

描述:在CN上查询某个逻辑集群下各实例的Schema空间信息,入参为逻辑集群名称。

返回值类型:record

函数返回字段如下:

名称

类型

描述

schemaname

text

模式名

schemaid

oid

模式OID

databasename

text

数据库名

databaseid

oid

数据库OID

nodename

text

实例名称

nodegroup

text

节点组名称

usedspace

bigint

已使用的空间大小

permspace

bigint

空间上限值

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
select * from pgxc_wlm_get_schema_space('group1');
     schemaname     | schemaid | databasename | databaseid |   nodename   |  nodegroup   | usedspace | permspace
--------------------+----------+--------------+------------+--------------+--------------+-----------+-----------
 pg_catalog         |       11 | test1        |      16384 | datanode1    | installation |   9469952 |        -1
 public             |     2200 | postgres     |      15253 | datanode1    | installation |  25280512 |        -1
 pg_toast           |       99 | test1        |      16384 | datanode1    | installation |   1859584 |        -1
 cstore             |      100 | test1        |      16384 | datanode1    | installation |         0 |        -1
 data_redis         |    18106 | postgres     |      15253 | datanode1    | installation |    655360 |        -1
 data_redis         |    18116 | test1        |      16384 | datanode1    | installation |         0 |        -1
 public             |     2200 | test1        |      16384 | datanode1    | installation |     16384 |        -1
 dbms_om            |     3987 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_job           |     3988 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_om            |     3987 | test1        |      16384 | datanode1    | installation |         0 |        -1
 dbms_job           |     3988 | test1        |      16384 | datanode1    | installation |         0 |        -1
 sys                |    11693 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 sys                |    11693 | test1        |      16384 | datanode1    | installation |         0 |        -1
 utl_file           |    14644 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 utl_raw            |    14669 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_sql           |    14674 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_output        |    14662 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_random        |    14666 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 dbms_lob           |    14701 | postgres     |      15253 | datanode1    | installation |         0 |        -1
 information_schema |    14300 | postgres     |      15253 | datanode1    | installation |    294912 |        -1
 information_schema |    14300 | test1        |      16384 | datanode1    | installation |    294912 |        -1
 utl_file           |    14644 | test1        |      16384 | datanode1    | installation |         0 |        -1
 dbms_output        |    14662 | test1        |      16384 | datanode1    | installation |         0 |        -1
 dbms_random        |    14666 | test1        |      16384 | datanode1    | installation |         0 |        -1
 utl_raw            |    14669 | test1        |      16384 | datanode1    | installation |         0 |        -1
 dbms_sql           |    14674 | test1        |      16384 | datanode1    | installation |         0 |        -1
 dbms_lob           |    14701 | test1        |      16384 | datanode1    | installation |         0 |        -1
 pg_catalog         |       11 | postgres     |      15253 | datanode1    | installation |  13049856 |        -1
 redisuser          |    16387 | postgres     |      15253 | datanode1    | installation |    630784 |        -1
 pg_toast           |       99 | postgres     |      15253 | datanode1    | installation |   3080192 |        -1
 cstore             |      100 | postgres     |      15253 | datanode1    | installation |   2408448 |        -1
 pg_catalog         |       11 | test1        |      16384 | datanode2    | installation |   9469952 |        -1
 public             |     2200 | postgres     |      15253 | datanode2    | installation |  25214976 |        -1
 pg_toast           |       99 | test1        |      16384 | datanode2    | installation |   1859584 |        -1
 cstore             |      100 | test1        |      16384 | datanode2    | installation |         0 |        -1
 data_redis         |    18106 | postgres     |      15253 | datanode2    | installation |    655360 |        -1
 data_redis         |    18116 | test1        |      16384 | datanode2    | installation |         0 |        -1
 public             |     2200 | test1        |      16384 | datanode2    | installation |     16384 |        -1
 dbms_om            |     3987 | postgres     |      15253 | datanode2    | installation |         0 |        -1
 dbms_job           |     3988 | postgres     |      15253 | datanode2    | installation |         0 |        -1
 dbms_om            |     3987 | test1        |      16384 | datanode2    | installation |         0 |        -1
 dbms_job           |     3988 | test1        |      16384 | datanode2    | installation |         0 |        -1

pgxc_wlm_analyze_schema_space(cstring)

描述:在CN上查询某个逻辑集群下集群整体的Schema空间信息,入参为逻辑集群名称。

返回值类型:record

函数返回字段如下:

名称

类型

描述

schemaname

text

模式名

databasename

text

数据库名

nodegroup

text

节点组名称

total_value

bigint

该模式的集群空间总值

avg_value

bigint

该模式的各实例空间平均值

skew_percent

integer

倾斜率

extend_info

text

提供信息包括:单实例空间最大值、单实例空间最小值以及最大最小空间所在的实例名

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
select * from pgxc_wlm_analyze_schema_space('group1');
     schemaname     | databasename |  nodegroup   | total_value | avg_value | skew_percent |                  extend_info
--------------------+--------------+--------------+-------------+-----------+--------------+-----------------------------------------------
 pg_catalog         | test1        | installation |    56819712 |   9469952 |            0 | min:9469952 datanode1,max:9469952 datanode1
 public             | postgres     | installation |   150495232 |  25082538 |            0 | min:24903680 datanode6,max:25280512 datanode1
 pg_toast           | test1        | installation |    11157504 |   1859584 |            0 | min:1859584 datanode1,max:1859584 datanode1
 cstore             | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 data_redis         | postgres     | installation |     1966080 |    327680 |           50 | min:0 datanode4,max:655360 datanode1
 data_redis         | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 public             | test1        | installation |       98304 |     16384 |            0 | min:16384 datanode1,max:16384 datanode1
 dbms_om            | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_job           | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_om            | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_job           | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 sys                | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 sys                | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 utl_file           | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 utl_raw            | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_sql           | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_output        | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_random        | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_lob           | postgres     | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 information_schema | postgres     | installation |     1769472 |    294912 |            0 | min:294912 datanode1,max:294912 datanode1
 information_schema | test1        | installation |     1769472 |    294912 |            0 | min:294912 datanode1,max:294912 datanode1
 utl_file           | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_output        | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_random        | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 utl_raw            | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_sql           | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 dbms_lob           | test1        | installation |           0 |         0 |            0 | min:0 datanode1,max:0 datanode1
 pg_catalog         | postgres     | installation |    75431936 |  12571989 |            3 | min:12124160 datanode4,max:13049856 datanode1
 redisuser          | postgres     | installation |     1884160 |    314026 |           50 | min:16384 datanode4,max:630784 datanode1
 pg_toast           | postgres     | installation |    17154048 |   2859008 |            7 | min:2637824 datanode4,max:3080192 datanode1
 cstore             | postgres     | installation |    15294464 |   2549077 |            5 | min:2408448 datanode1,max:2703360 datanode6
(31 rows)

gs_wlm_set_queryband_action(cstring,cstring,int4)

描述:设置query_band关联行为和次序。

返回值类型:boolean

函数入参字段如下:

名称

类型

描述

qband

cstring

query_band键值对,长度上限为63个字符。

action

cstring

query_band关联行为。

order

int4

query_band搜索次序,缺省参数,默认为-1。

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
select * from gs_wlm_set_queryband_action('a=1','respool=p1');
 gs_wlm_set_queryband_action
-----------------------------
 t
(1 row)
select * from gs_wlm_set_queryband_action('a=3','respool=p1;priority=rush',1);
 gs_wlm_set_queryband_action
-----------------------------
 t
(1 row)

gs_wlm_set_queryband_order(cstring,int4)

描述:设置query_band次序。

返回值类型:boolean

函数入参字段如下:

名称

类型

描述

qband

cstring

query_band键值对

order

int4

query_band搜索次序,缺省参数,默认为-1

示例:

1
2
3
4
5
select * from gs_wlm_set_queryband_order('a=1',2);
 gs_wlm_set_queryband_action
-----------------------------
 t
(1 row)

gs_wlm_get_queryband_action(cstring)

描述:查询query_band关联行为和次序。

返回值类型:record

函数返回字段如下:

名称

类型

描述

qband

cstring

query_band键值对

respool_id

Oid

query band关联资源池OID

respool

text

query band关联资源池名

priority

text

query band关联队列内优先级

qborder

int4

query_band搜索次序

示例:

1
2
3
4
5
select * from gs_wlm_get_queryband_action('a=1');
qband | respool_id | respool | priority | qborder
-------+------------+---------+----------+---------
 a=1   |      16388 | p1      | Medium   |      -1
(1 row)

gs_cgroup_reload_conf()

描述:在当前实例上进行cgroup配置文件在线加载。

返回值类型:record

函数返回字段如下:

名称

类型

描述

node_name

text

实例名称

node_host

text

实例所在节点的IP地址

result

text

cgroup在线加载是否成功

示例:

1
2
3
4
select * from gs_cgroup_reload_conf();
 node_name |   node_host    | result
-----------+----------------+---------
 cn_5001   | 192.168.178.35 | success

pgxc_cgroup_reload_conf()

描述:在系统所有实例上进行cgroup配置文件在线加载。

返回值类型:record

函数返回字段如下:

名称

类型

描述

node_name

text

实例名称

node_host

text

实例所在节点的IP地址

result

text

cgroup在线加载是否成功

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
select * from pgxc_cgroup_reload_conf();
  node_name   |    node_host    | result
--------------+-----------------+---------
 dn_6025_6026 | 192.168.178.177 | success
 dn_6049_6050 | 192.168.179.79  | success
 dn_6051_6052 | 192.168.179.79  | success
 dn_6055_6056 | 192.168.179.79  | success
 dn_6067_6068 | 192.168.181.57  | success
 dn_6023_6024 | 192.168.178.39  | success
 dn_6009_6010 | 192.168.181.21  | success
 dn_6011_6012 | 192.168.181.21  | success
 dn_6015_6016 | 192.168.181.21  | success
 dn_6029_6030 | 192.168.178.177 | success
 dn_6031_6032 | 192.168.178.177 | success
 dn_6045_6046 | 192.168.179.45  | success
 cn_5001      | 192.168.178.35  | success
 cn_5003      | 192.168.178.39  | success
 dn_6061_6062 | 192.168.181.179 | success
 cn_5006      | 192.168.179.45  | success
 cn_5004      | 192.168.178.177 | success
 cn_5002      | 192.168.181.21  | success
 cn_5005      | 192.168.178.187 | success
 dn_6019_6020 | 192.168.178.39  | success
 dn_6007_6008 | 192.168.178.35  | success
 dn_6071_6072 | 192.168.181.57  | success
 dn_6003_6004 | 192.168.178.35  | success
 dn_6013_6014 | 192.168.181.21  | success
 dn_6035_6036 | 192.168.178.187 | success
 dn_6037_6038 | 192.168.178.187 | success
 dn_6001_6002 | 192.168.178.35  | success
 dn_6063_6064 | 192.168.181.179 | success
 dn_6005_6006 | 192.168.178.35  | success
 dn_6057_6058 | 192.168.181.179 | success
 dn_6069_6070 | 192.168.181.57  | success
 dn_6027_6028 | 192.168.178.177 | success
 dn_6059_6060 | 192.168.181.179 | success
 dn_6041_6042 | 192.168.179.45  | success
 dn_6043_6044 | 192.168.179.45  | success
 dn_6047_6048 | 192.168.179.45  | success
 dn_6033_6034 | 192.168.178.187 | success
 dn_6065_6066 | 192.168.181.57  | success
 dn_6021_6022 | 192.168.178.39  | success
 dn_6017_6018 | 192.168.178.39  | success
 dn_6039_6040 | 192.168.178.187 | success
 dn_6053_6054 | 192.168.179.79  | success
(42 rows)

pgxc_cgroup_reload_conf(text)

描述:在某个节点上进行cgroup配置文件在线加载。入参为节点的IP地址。

返回值类型:record

函数返回字段如下:

名称

类型

描述

node_name

text

实例名称

node_host

text

实例所在节点的IP地址

result

text

cgroup在线加载是否成功

示例:

1
2
3
4
5
6
7
8
9
select * from pgxc_cgroup_reload_conf('192.168.178.35');
  node_name   |   node_host    | result
--------------+----------------+---------
 cn_5001      | 192.168.178.35 | success
 dn_6007_6008 | 192.168.178.35 | success
 dn_6003_6004 | 192.168.178.35 | success
 dn_6001_6002 | 192.168.178.35 | success
 dn_6005_6006 | 192.168.178.35 | success
(5 rows)

gs_wlm_node_recover(boolean isForce)

描述:动态资源管理模式下,对CCN管控计数和作业信息进行更新恢复。该函数仅支持管理员执行,通常用于CN实例故障重启后的实例恢复,由集群管理组件(CM)调用,不建议用户直接调用。具体功能如下:

  • CN执行:通知CCN清理该CN执行的作业信息和作业对应的管控计数信息。
  • CCN执行:重置管控计数信息,并从CN上获取最新的慢车道作业信息。

返回值类型:bool

gs_wlm_node_clean(cstring nodename)

描述:动态资源管理模式下,对CCN上入参指定的CN执行的作业信息和对应的管控计数信息进行清理。该函数仅支持管理员执行,通常用于CN实例故障重启后的实例恢复,由集群管理组件(CM)调用,正常情况下不建议用户直接调用。

返回值类型:bool

pg_stat_get_wlm_node_resource_info(int4)

描述:显示所有DN资源的汇总信息。

返回值类型:record

函数返回字段如下:

名称

类型

描述

min_mem_util

integer

DN最小内存使用率。

max_mem_util

integer

DN最大内存使用率。

min_cpu_util

integer

DN最小CPU使用率。

max_cpu_util

integer

DN最大CPU使用率。

min_io_util

integer

DN最小IO使用率。

max_io_util

integer

DN最大IO使用率。

phy_usemem_rate

integer

物理节点最大内存使用率。

pg_stat_get_workload_struct_info()

描述:定位CCN排队问题的负载管理函数。此函数为内部函数,如需使用请联系技术支持工程师。

返回值类型:record