metastore.remove_table) #Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.
Выполните следующую команду:
SELECT metastore.remove_table('имя_схемы.имя_таблицы', --[force], [cascade]);Где:
имя_схемы.имя_таблицы: имя аналитической схемы, содержащей удаляемую аналитическую таблицу, а также имя самой таблицы.
Имя схемы можно пропустить и просто указать имя таблицы (без точки). В этом случае используется аналитическая схема по умолчанию main.
force: указывает, следует ли удалить представление Postgres Pro, созданное из аналитической таблицы с помощью хранимой процедуры metastore.create_view.
Возможные значения:
true
false
Значение по умолчанию: true.
Необязательный параметр.
cascade: указывает, следует ли удалить все представления, основанные на представлении Postgres Pro, которое было создано из аналитической таблицы с помощью хранимой процедуры metastore.create_view.
Возможные значения:
true
false
Значение по умолчанию: false.
Необязательный параметр.
Postgres Pro AXE выполняет следующие действия:
Проверяет параметры ввода и права пользователя.
Создаёт новую запись в таблице метаданных pga_snapshot и устанавливает значение end_snapshot для аналитической таблицы в таблице метаданных pga_table.
Устанавливает значение end_snapshot для записей, связанных с аналитической таблицей, в других таблицах метаданных.
Выполняет действия в зависимости от значений force и cascade (обратитесь к таблице ниже).
force | cascade | Действие |
|---|---|---|
|
| Не выполняется никаких действий, и представления не изменяются. |
|
| Удаляет представление и все основанные на нём представления. Применяется флаг cascade, force — игнорируется. |
|
| Удаляет только представление. При существовании представлений, основанных на этом представлении, выдаёт SQL-ошибку. |
|
| Удаляет представление и все основанные на нём представления. Применяется флаг 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