Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Изменение определения внешней таблицы.
ALTER FOREIGN TABLE [ IF EXISTS ] name
action [, ... ]
ALTER FOREIGN TABLE [ IF EXISTS ] name
RENAME [ COLUMN ] column_name TO new_column_name
ALTER FOREIGN TABLE [ IF EXISTS ] name
RENAME TO new_name
ALTER FOREIGN TABLE [ IF EXISTS ] name
SET SCHEMA new_schema
Действия следующие:
ADD [ COLUMN ] column_name column_type [ COLLATE collation ] [ column_constraint [ ... ] ]
DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type
ALTER [ COLUMN ] column_name SET DEFAULT expression
ALTER [ COLUMN ] column_name DROP DEFAULT
ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL
ALTER [ COLUMN ] column_name SET STATISTICS integer
ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] )
ALTER [ COLUMN ] column_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
DISABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE REPLICA TRIGGER trigger_name
ENABLE ALWAYS TRIGGER trigger_name
OWNER TO new_owner
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER FOREIGN TABLE изменяет определение существующей внешней таблицы. Команда поддерживает следующие формы:
ADD COLUMN
DROP COLUMN [ IF EXISTS ]
IF EXISTS
SET DATA TYPE
SET/DROP DEFAULT
SET/DROP NOT NULL
SET STATISTICS
SET ( attribute_option = value [, ...] )
RESET ( attribute_option [, ... ] )
DISABLE/ENABLE [ REPLICA | ALWAYS ] TRIGGER
OWNER
RENAME
SET SCHEMA
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
Все операции, кроме RENAME и SET SCHEMA, можно перечислить в одном списке, чтобы база данных YMatrix могла применить эти изменения параллельно. Например, можно добавить несколько столбцов или изменить атрибуты нескольких столбцов одной командой.
Чтобы использовать операцию ALTER FOREIGN TABLE, вы должны владеть таблицей. Чтобы изменить схему, вы также должны иметь разрешение CREATE в новой схеме. Чтобы изменить владельца, вы должны быть прямым или косвенным членом новой роли, и эта роль должна иметь разрешение CREATE в схеме таблицы. Эти ограничения означают, что простое удаление и повторное создание таблицы для смены владельца невозможно. Однако суперпользователи могут изменить владельца любой таблицы. Для добавления столбца или изменения его типа данных необходимо иметь разрешение USAGE на соответствующий тип данных.
name
column_name
new_column_name
new_name
data_type
CASCADE
RESTRICT
trigger_name
ALL
USER
new_owner
new_schema
Указать, что столбец не допускает NULL-значений:
ALTER FOREIGN TABLE distributors ALTER COLUMN street SET NOT NULL;
Изменить параметр внешней таблицы:
ALTER FOREIGN TABLE myschema.distributors
OPTIONS (ADD opt1 'value', SET opt2 'value2', DROP opt3 'value3');
Формы ADD, DROP и SET DATA TYPE соответствуют стандарту SQL. Остальные формы являются расширениями базы данных YMatrix по отношению к стандарту SQL. Возможность указывать несколько операций в одной команде ALTER FOREIGN TABLE также является расширением базы данных YMatrix.
Можно использовать ALTER FOREIGN TABLE ... DROP COLUMN для удаления единственного столбца в таблице, в результате чего таблица будет содержать ноль столбцов. Это также является расширением SQL, разрешающим существование таблиц без столбцов.