В Postgres Pro AXE удаление Parquet-файлов выполняется в два этапа. Сначала снимки, на которые ссылаются записи из таблицы метаданных pga_data_file, необходимо отметить как устаревшие, чтобы исключить связанные Parquet-файлы из аналитических запросов. После этого Parquet-файлы можно удалять.
Перед выполнением этой инструкции убедитесь, что вам назначена роль metastore_admin. За подробной информацией обратитесь к Главе 14.
Чтобы удалить Parquet-файлы:
Отметьте снимки как устаревшие одним из следующих способов:
Чтобы отметить снимки, созданные до определённой даты и времени, как устаревшие, выполните следующий запрос:
SELECT metastore.expire_snapshot(пороговая_дата_и_время);Где пороговая_дата_и_время — это пороговое значение для даты и времени создания снимка.
Дата и время создания снимка содержатся в столбце snapshot_time таблицы метаданных pga_snapshot.
Поддерживаемые форматы даты и времени:
Дата в формате гггг-мм-дд.
Пример 20.3.
2024-11-28
Дата в формате гггг-мм-дд и время в формате чч:мм:сс.
Пример 20.4.
2025-11-28 12:22:46
Дата в формате гггг-мм-дд и время в формате чч:мм:сс с указанием часового пояса.
Пример 20.5.
2025-11-28 12:22:46+03
Дата в формате гггг-мм-дд и время в формате чч:мм:сс.сссссс с указанием часового пояса, где дробная часть секунд имеет не более 6 знаков.
Пример 20.6.
2025-11-28 12:22:46.123456+03
Пример 20.7.
SELECT metastore.expire_snapshot('2025-11-13 12:22:46.123456+03');Чтобы отметить снимки с определёнными идентификаторами как устаревшие, выполните следующий запрос:
SELECT metastore.expire_snapshot('[список_идентификаторов_снимков]');Где список_идентификаторов_снимков — это разделённый запятыми список идентификаторов снимков.
Идентификаторы снимков содержатся в столбце snapshot_id таблицы метаданных pga_snapshot.
Пример 20.8.
SELECT metastore.expire_snapshot('[1,2,3,4]');После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Отмечает снимки как устаревшие, если их записи из таблицы метаданных pga_snapshot имеют значения snapshot_time, которые меньше, чем пороговая_дата_и_время, или имеют значения snapshot_id, которые равняются одному из указанных идентификаторов снимков.
Находит записи в таблице метаданных pga_data_file со значениями begin_snapshot, которые ссылаются на устаревшие снимки, и создаёт связанные записи в таблице метаданных pga_files_scheduled_for_deletion, если эти записи не были созданы при предыдущих вызовах expire_snapshot.
Это не влияет на другие таблицы метаданных, у которых значения begin_snapshot ссылаются на устаревшие снимки.
Повторно создайте представления Postgres Pro из аналитических таблиц, связанных с Parquet-файлами, чтобы исключить эти файлы из аналитических запросов.
Повторное создание представлений Postgres Pro возможно только в периоды отсутствия пользовательской активности. Это сделано для предотвращения потери данных.
Удалите Parquet-файлы:
SELECT metastore.delete_expired_files();
После выполнения этого запроса pgpro_metastore выполняет следующие действия:
Удаляет 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.