29.2. Копирование OLAP-данных из таблиц-куч в аналитическую таблицу (metastore.copy_table) #

Вы можете использовать SQL-команду, чтобы скопировать OLAP-данные из таблиц-куч в аналитическую таблицу.

Требуемые права:

За подробной информацией о хранимых процедурах и правах на них обратитесь к Разделу 22.1.

Выполните следующую команду:

  SELECT metastore.copy_table('имя_таблицы', SQL-команда, 'путь_к_JSON');

Где:

Postgres Pro AXE выполняет следующие действия:

  1. Проверяет параметры ввода и права пользователя.

  2. Создаёт временный каталог хранилища для результатов SQL-команды.

  3. Выполняет SQL-команду и создаёт Parquet-файлы с её результатами.

  4. Проверяет, что метаданные Parquet-файлов и аналитической таблицы совместимы: количество, порядок, имена и типы столбцов должны совпадать.

  5. Создаёт новые записи в таблицах метаданных pga_snapshot и pga_data_file.

  6. Копирует Parquet-файлы в каталог хранилища аналитической таблицы в новый подкаталог, именем которого является идентификатор снимка.

    Если Parquet-файлы добавляются в секционированную аналитическую таблицу, они разделяются на несколько файлов по столбцам секции и для этих файлов создаётся дерево каталогов.

  7. Обновляет статистику в таблицах метаданных pga_table_stats, pga_table_column_stats и pga_file_column_statistics.

Пример 29.2. Выполнение хранимой процедуры metastore.copy_table

  SELECT metastore.copy_table('my_metastore_table', $$select * from my_pgtable$$, 'folder/options.json');