PURGE_PARTITION
Purges a table partition of deleted rows. Similar to PURGE
and PURGE_PROJECTION
, this function removes deleted data from physical storage so you can reuse the disk space. PURGE_PARTITION
removes data only from the AHM epoch and earlier.
Syntax
PURGE_PARTITION ( '[[database.]schema.]table', partition‑key )
Parameters
[database.]schema |
Specifies a schema, by default myschema.thisDbObject If you specify a database, it must be the current database. |
table |
The partitioned table to purge. |
partition‑key |
The key of the partition to purge. |
Privileges
- Table owner
- USAGE privilege on schema
Example
The following example lists the count of deleted rows for each partition in a table, then calls PURGE_PARTITION()
to purge the deleted rows from the data.
=> SELECT partition_key,table_schema,projection_name,sum(deleted_row_count) AS deleted_row_count FROM partitions GROUP BY partition_key,table_schema,projection_name ORDER BY partition_key; partition_key | table_schema | projection_name | deleted_row_count ---------------+--------------+-----------------+------------------- 0 | public | t_super | 2 1 | public | t_super | 2 2 | public | t_super | 2 3 | public | t_super | 2 4 | public | t_super | 2 5 | public | t_super | 2 6 | public | t_super | 2 7 | public | t_super | 2 8 | public | t_super | 2 9 | public | t_super | 1 (10 rows) => SELECT PURGE_PARTITION('t',5); -- Purge partition with key 5. purge_partition ------------------------------------------------------------------------ Task: merge partitions (Table: public.t) (Projection: public.t_super) (1 row) => SELECT partition_key,table_schema,projection_name,sum(deleted_row_count) AS deleted_row_count FROM partitions GROUP BY partition_key,table_schema,projection_name ORDER BY partition_key; partition_key | table_schema | projection_name | deleted_row_count ---------------+--------------+-----------------+------------------- 0 | public | t_super | 2 1 | public | t_super | 2 2 | public | t_super | 2 3 | public | t_super | 2 4 | public | t_super | 2 5 | public | t_super | 0 6 | public | t_super | 2 7 | public | t_super | 2 8 | public | t_super | 2 9 | public | t_super | 1 (10 rows)