返回首页

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

更新日期:2024年09月11日

返回集合中元素的个数,不计算被DELETE的元素
l
可变数组的COUNT
COUNT始终等于LAST,如果使用EXTEND或TRIM增加或减小可变数组,则COUNT也
随之改变。
CREATE OR REPLACE PROCEDURE P_5_23 AS
TYPE NumList IS VARRAY(10) OF INTEGER;
n NumList := NumList(1,3,5,7);
BEGIN
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');
DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
n.EXTEND(3);
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');
DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
n.TRIM(5);
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');
DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
END;

--Result:
--n.COUNT = 4, n.LAST = 4
--n.COUNT = 7, n.LAST = 7
--n.COUNT = 2, n.LAST = 2

l
内嵌表的COUNT
嵌套表的COUNT=LAST.除了当在嵌套表中DELETE元素,此时COUNTCREATE OR REPLACE PROCEDURE P_5_24 AS
TYPE NumList IS TABLE OF INTEGER;
n NumList := NumList(1,3,5,7);
BEGIN
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 82 -

DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
n.DELETE(3); -- Delete third element
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');
DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
n.EXTEND(2); -- Add two null elements to end
DBMS_OUTPUT.PUT('n.COUNT = ' || n.COUNT || ', ');
DBMS_OUTPUT.PUT_LINE('n.LAST = ' || n.LAST);
FOR i IN 1..8 LOOP
IF n.EXISTS(i) THEN
IF n(i) IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE('n(' || i || ') = ' || n(i));
ELSE
DBMS_OUTPUT.PUT_LINE('n(' || i || ') = NULL');
END IF;
ELSE
DBMS_OUTPUT.PUT_LINE('n(' || i || ') does not exist');
END IF;
END LOOP;
END;

--Result:
--n.COUNT = 4, n.LAST = 4
--n.COUNT = 3, n.LAST = 4
--n.COUNT = 5, n.LAST = 6
--n(1) = 1
--n(2) = 3
--n(3) does not exist
--n(4) = 7
--n(5) = NULL
--n(6) = NULL
--n(7) does not exist
--n(8) does not exist

GS_WLM_OPERATOR_STATISTICS 视图显示当前用户正在执行的作业的算子相关信
息。查询该视图需要sysadmin 权限。
名称
类型
描述
queryid
bigint
语句执行使用的内部query_id。
pid
bigint
后端线程id。
plan_node_id
integer
查询对应的执行计划的plan node id。
plan_node_name
text
对应于plan_node_id 的算子的名称。
start_time
timestamp wi
该算子处理第一条数据的开始时间。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
852
名称
类型
描述
th time zone
duration
bigint
该算子到结束时候总的执行时间(ms)。
status
text
当前算子的执行状态,包括finished 和running。
query_dop
integer
当前算子执行时的并行度。
estimated_rows
bigint
优化器估算的行数信息。
tuple_processed
bigint
当前算子返回的元素个数。
min_peak_memory
integer
当前算子在数据库实例上的最小内存峰值
(MB)

max_peak_memory
integer
当前算子在数据库实例上的最大内存峰值
(MB)

average_peak_memo
ry
integer
当前算子在数据库实例上的平均内存峰值
(MB)

memory_skew_perce
nt
integer
当前算子在数据库实例间的内存使用倾斜率。
min_spill_size
integer
若发生下盘,
数据库实例上下盘的最小数据量
(M
B),默认为0。
max_spill_size
integer
若发生下盘,
数据库实例上下盘的最大数据量
(M
B),默认为0。
average_spill_size
integer
若发生下盘,
数据库实例上下盘的平均数据量
(M
B),默认为0。
spill_skew_percent
integer
若发生下盘,数据库实例间下盘倾斜率。
min_cpu_time
bigint
该算子在数据库实例上的最小执行时间(ms)。
max_cpu_time
bigint
该算子在数据库实例上的最大执行时间(ms)。
total_cpu_time
bigint
该算子在数据库实例上的总执行时间(ms)。
cpu_skew_percent
integer
数据库实例间执行时间的倾斜率。
warning
text
主要显示如下几类告警信息:
Sort/SetOp/HashAgg/HashJoin spill

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
853
名称
类型
描述
Spill file size large than 256MB
Broadcast size large than 100MB
Early spill
Spill times is greater than 3
Spill on memory adaptive
Hash table conflict

检查数据库状态
通过GBase 8c 提供的工具查询数据库和实例状态,确认数据库和实例都处于正常的运
行状态,可以对外提供数据服务。
检查数据库状态
gs_check -U admin_user -i CheckClusterState
参数说明

-U:指定以哪个管理员用户身份进行检查操作。

-i:指定健康检查项的名称
执行返回检查状态的信息。

GBase 8c 管理员指南
南大通用数据技术股份有限公司
8
例如:
[gbase@gbase8c ~]$ gs_check -U gbase -i CheckClusterState
Parsing the check items config file successfully
Distribute the context file to remote hosts successfully
Start to health check for the cluster. Total Items:1 Nodes:1
Checking...
[=========================] 1/1
Start to analysis the check result
CheckClusterState...........................OK
The item run on 1 nodes.
success: 1
Analysis the check result successfully
Success.
All check items run completed. Total:1
Success:1
For more information please refer to
/home/gbase/gbase_db/om_f5c5a0af/script/gspylib/inspection/output/CheckRepor
t_202212063481010006.tar.gz
检查参数
以管理员身份登录数据库,使用show 命令查看指定参数的值。
SHOW parameter_name;
例如,查看listen_addresses 参数值:
[gbase@gbase8c ~]$ gsql -d postgres -p 5432
gsql ((multiple_nodes GBase8cV5 3.0.0B52 build 0b9407bc) compiled at 2022-11-18
16:09:02 commit 0 last mr 874 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=# show listen_addresses;
listen_addresses
------------------------
localhost,10.0.7.16
(1 row)
修改参数
通过gs_guc 命令修改参数值。参数修改生效方式不同,请参看《GBase 8c V5_3.0.0 开
发者指南》“重设参数”章节。
gs_guc reload -Z node_type -D datadir -c "paraname_name=value"

GBase 8c 管理员指南
南大通用数据技术股份有限公司
9
例如,修改listen_addresses 参数:
[gbase@gbase ~]$ gs_guc reload -Z datanode -D /home/gbase/data/dn1/dn1_1/ -c
"listen_addresses='localhost,10.0.7.16,10.0.7.17'"
The gs_guc run with the following arguments: [gs_guc -Z datanode -D
/home/gbase/data/dn1/dn1_1/ -c
listen_addresses='localhost,10.0.7.16,10.0.7.17' reload ].
expected instance path: [/home/gbase/data/dn1/dn1_1/postgresql.conf]
gs_guc reload: listen_addresses='localhost,10.0.7.16,10.0.7.17':
[/home/gbase/data/dn1/dn1_1/postgresql.conf]
server signaled
Total instances: 1.
Success to perform gs_guc!