PURGE
从 ROS 存储容器中永久移除删除向量,以便可以重新使用磁盘空间。 PURGE
移除
Ancient History Mark 时期(含)之前的所有历史数据。
PURGE
不会删除临时表。
当心
PURGE
可以暂时使用大量磁盘空间。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SELECT PURGE()
特权
-
表所有者
-
对架构的 USAGE 权限
示例
从 Vertica 表中删除数据后,该数据将被标记为删除。要查看标记为待删除的数据,请查询
DELETE_VECTORS
系统表。
运行 PURGE
以从 ROS 容器中移除删除向量。
=> SELECT * FROM test1;
number
--------
3
12
33
87
43
99
(6 rows)
=> DELETE FROM test1 WHERE number > 50;
OUTPUT
--------
2
(1 row)
=> SELECT * FROM test1;
number
--------
43
3
12
33
(4 rows)
=> SELECT node_name, projection_name, deleted_row_count FROM DELETE_VECTORS;
node_name | projection_name | deleted_row_count
------------------+-----------------+-------------------
v_vmart_node0002 | test1_b1 | 1
v_vmart_node0001 | test1_b1 | 1
v_vmart_node0001 | test1_b0 | 1
v_vmart_node0003 | test1_b0 | 1
(4 rows)
=> SELECT PURGE();
...
(Table: public.test1) (Projection: public.test1_b0)
(Table: public.test1) (Projection: public.test1_b1)
...
(4 rows)
Ancient History Mark (AHM) 推进后:
=> SELECT * FROM DELETE_VECTORS;
(No rows)