25.4. Удаление аналитической таблицы (metastore.remove_table) #

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

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

  SELECT metastore.remove_table('имя_схемы.имя_таблицы', --[force], [cascade]);

Где:

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

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

  2. Создаёт новую запись в таблице метаданных pga_snapshot и устанавливает значение end_snapshot для аналитической таблицы в таблице метаданных pga_table.

  3. Устанавливает значение end_snapshot для записей, связанных с аналитической таблицей, в других таблицах метаданных.

  4. Выполняет действия в зависимости от значений force и cascade (обратитесь к таблице ниже).

    forcecascadeДействие

    false

    false

    Не выполняется никаких действий, и представления не изменяются.

    false

    true

    Удаляет представление и все основанные на нём представления. Применяется флаг cascade, force — игнорируется.

    true

    false

    Удаляет только представление. При существовании представлений, основанных на этом представлении, выдаёт SQL-ошибку.

    true

    true

    Удаляет представление и все основанные на нём представления. Применяется флаг cascade, force — игнорируется.

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

  SELECT metastore.remove_table('table_example'); --force=true, cascade=false
  SELECT metastore.remove_table('table_example', false); --force=false, cascade=false
  SELECT metastore.remove_table('table_name', false, true); --force=false, cascade=true