Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
Определение нового внешнего объекта.
CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [
column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ]
[, ... ]
] )
SERVER server_name
[ OPTIONS ( [ mpp_execute { 'master' | 'any' | 'all segments' } [, ] ] option 'value' [, ... ] ) ]
где column_constraint:
[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
DEFAULT default_expr }
Команда CREATE FOREIGN TABLE создает новую внешнюю таблицу в текущей базе данных. Пользователь, создающий внешнюю таблицу, становится её владельцем.
Если имя таблицы указано с указанием схемы (например, CREATE FOREIGN TABLE myschema.mytable ...), YMatrix создаст таблицу в указанной схеме. В противном случае внешняя таблица будет создана в текущей схеме. Имя внешней таблицы должно отличаться от имён всех других внешних таблиц, таблиц, последовательностей, индексов или представлений в этой же схеме.
Поскольку команда CREATE FOREIGN TABLE автоматически создает тип данных, представляющий составной тип, соответствующий строке внешней таблицы, имя внешней таблицы не может совпадать с именем любого существующего типа данных в той же схеме.
Для создания внешней таблицы необходимо иметь привилегии USAGE на внешнем сервере, а также привилегии USAGE для всех типов столбцов, используемых в таблице.
IF NOT EXISTS
table_name
column_name
data_type
NOT NULL
NULL
DEFAULT default_expr
server_name
OPTIONS ( option 'value' [, ... ] )
mpp_execute { 'master' | 'any' | 'all segments' }
Создание внешней таблицы с именем films с использованием сервера film_server:
CREATE FOREIGN TABLE films (
code char(5) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
CREATE FOREIGN TABLE в целом соответствует стандарту SQL; однако, как и CREATE TABLE, YMatrix допускает ограничения NULL и внешние таблицы без столбцов. Возможность задания значений по умолчанию является расширением YMatrix, равно как и параметр mpp_execute.