CLOSE_ALL_RESULTSETS
关闭多个活动结果集 (MARS) 中的所有结果集会话,并为其他结果集释放 MARS 存储。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SELECT CLOSE_ALL_RESULTSETS ('session_id')
参数
session_id
- 指定多个活动结果集会话的字符串。
特权
无;但是,在不具备超级用户权限的情况下,您只能关闭您自己会话的结果。
示例
此示例显示了如何查看 MARS 结果集,然后关闭该结果集,再确认该结果集已被关闭。
查询 MARS 存储表。一个会话 ID 处于打开状态,并在输出中显示三个结果集。
=> SELECT * FROM SESSION_MARS_STORE;
node_name | session_id | user_name | resultset_id | row_count | remaining_row_count | bytes_used
------------------+-----------------------------------+-----------+--------------+-----------+---------------------+------------
v_vmart_node0001 | server1.company.-83046:1y28gu9 | dbadmin | 7 | 777460 | 776460 | 89692848
v_vmart_node0001 | server1.company.-83046:1y28gu9 | dbadmin | 8 | 324349 | 323349 | 81862010
v_vmart_node0001 | server1.company.-83046:1y28gu9 | dbadmin | 9 | 277947 | 276947 | 32978280
(1 row)
关闭会话 server1.company.-83046:1y28gu9 的所有结果集:
=> SELECT CLOSE_ALL_RESULTSETS('server1.company.-83046:1y28gu9');
close_all_resultsets
-------------------------------------------------------------
Closing all result sets from server1.company.-83046:1y28gu9
(1 row)
再次查询 MARS 存储表,以了解当前状态。您可以看到,该会话和结果集已被关闭:
=> SELECT * FROM SESSION_MARS_STORE;
node_name | session_id | user_name | resultset_id | row_count | remaining_row_count | bytes_used
------------------+-----------------------------------+-----------+--------------+-----------+---------------------+------------
(0 rows)