В Postgres Pro AXE удаление Parquet-файлов выполняется в два этапа. Сначала нужно пометить снимки устаревшими, что исключает связанные Parquet-файлы из аналитических запросов, затем удалить Parquet-файлы из хранилища.
metastore.expire_snapshot_on_time) #Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.
Выполните следующую команду:
SELECT metastore.expire_snapshot_on_time('начальная_дата_и_время', 'конечная_дата_и_время');Снимки, созданные между начальной_датой_и_временем и конечной_датой_и_временем, помечаются устаревшими.
Пример 29.4. Возможные форматы значений
'2025-11-13 12:22:46.123456+03'
'2025-11-13 12:22:46+03'
'2025-11-13 12:22:46'
'2025-11-13'
Дробная часть секунд не должна содержать более 6 цифр.
Дата и время создания снимка содержатся в столбце snapshot_time таблицы метаданных pga_snapshot.
Postgres Pro AXE выполняет следующие действия:
Помечает устаревшими снимки, если их значения snapshot_time в таблице метаданных pga_snapshot находятся между начальной_датой_и_временем и конечной_датой_и_временем.
Находит записи в таблице метаданных pga_data_file со значениями begin_snapshot, которые ссылаются на устаревшие снимки, и создаёт связанные записи в таблице метаданных pga_files_scheduled_for_deletion, если эти записи уже не были созданы.
Это не влияет на другие таблицы метаданных, у которых значения begin_snapshot ссылаются на устаревшие снимки.
Пример 29.5. Выполнение хранимой процедуры metastore.expire_snapshot_on_time
Чтобы отметить устаревшими снимки, созданные за последние 24 часа, используйте функции to_char() и now():
SELECT metastore.expire_snapshot_on_time(to_char(now() - INTERVAL '1 day', 'YYYY-MM-DD HH24:MI:SS.US TZH:TZM'), to_char(now(), 'YYYY-MM-DD HH24:MI:SS.US TZH:TZM'));
Чтобы отметить устаревшими все снимки, созданные до определённой даты и времени, используйте пустую строку в качестве первого параметра:
SELECT metastore.expire_snapshot_on_time('', '2025-11-28');Чтобы отметить устаревшими все снимки, созданные после определённой даты и времени, используйте пустую строку в качестве второго параметра:
SELECT metastore.expire_snapshot_on_time('2025-11-28', '');Выполнение этой хранимой процедуры с пустой строкой в качестве обоих параметров или с первым параметром, превышающим второй, возвращает сообщение об ошибке и снимки не отмечаются устаревшими.
Необходимо повторно создать представления Postgres Pro для аналитических таблиц, чтобы исключить устаревшие Parquet-файлы из аналитических запросов.
Представления Postgres Pro можно создать повторно только в периоды нулевой активности пользователей, чтобы предотвратить возможную потерю данных.
metastore.expire_snapshot_on_ids) #Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.
Выполните следующую команду:
SELECT metastore.expire_snapshot_on_ids('список_идентификаторов_снимков');Где список_идентификаторов_снимков — это разделённый запятыми список идентификаторов снимков.
Укажите список через литерал или конструктор массива.
Пример 29.6. Возможные форматы значений
'{1,2,3,4}'
ARRAY[1,2,3,4]
Идентификаторы снимков содержатся в столбце snapshot_id таблицы метаданных pga_snapshot.
Postgres Pro AXE выполняет следующие действия:
Отмечает устаревшими снимки, если их значения snapshot_id в таблице метаданных pga_snapshot равны одному из указанных идентификаторов снимков.
Находит записи в таблице метаданных pga_data_file со значениями begin_snapshot, которые ссылаются на устаревшие снимки, и создаёт связанные записи в таблице метаданных pga_files_scheduled_for_deletion, если эти записи уже не были созданы.
Это не влияет на другие таблицы метаданных, у которых значения begin_snapshot ссылаются на устаревшие снимки.
Пример 29.7. Выполнение хранимой процедуры metastore.expire_snapshot_on_ids
SELECT metastore.expire_snapshot_on_ids('{1,2,3,4}');
SELECT metastore.expire_snapshot_on_ids(ARRAY[1,2,3,4,5]);Необходимо повторно создать представления Postgres Pro для аналитических таблиц, чтобы исключить устаревшие Parquet-файлы из аналитических запросов.
Представления Postgres Pro можно создать повторно только в периоды нулевой активности пользователей, чтобы предотвратить возможную потерю данных.
metastore.delete_expired_files) #Перед удалением Parquet-файлов необходимо отметить устаревшими связанные снимки.
Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.
Выполните следующую команду:
SELECT metastore.delete_expired_files();
Postgres Pro AXE выполняет следующие действия:
Удаляет Parquet-файлы из хранилища , а также удаляет их записи из таблиц метаданных pga_files_scheduled_for_deletion, pga_data_file и pga_file_column_statistics.
Обновляет статистику для аналитических таблиц и столбцов, связанных с удалёнными Parquet-файлами, в таблицах метаданных pga_table_stats и pga_table_column_stats.
Обновляет значения column_order для столбцов, связанных с удалёнными Parquet-файлами, в таблице метаданных pga_column.