Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Создание новой схемы.
CREATE SCHEMA schema_name [AUTHORIZATION username]
[schema_element [ ... ]]
CREATE SCHEMA AUTHORIZATION rolename [schema_element [ ... ]]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION user_name ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_name
Команда CREATE SCHEMA добавляет новую схему в текущую базу данных. Имя схемы должно отличаться от имён всех существующих схем в текущей базе данных.
Схема по сути является пространством имён: она содержит именованные объекты (таблицы, типы данных, функции и операторы), чьи имена могут повторяться с именами других объектов, находящихся в других схемах. Доступ к именованным объектам можно получить, указав имя схемы в качестве префикса перед именем объекта, либо установив путь поиска (search path), содержащий нужную схему.
(Опционально) CREATE SCHEMA может включать подкоманды для создания объектов внутри новой схемы. Эти подкоманды эквивалентны отдельным командам, выполняемым после создания схемы, за исключением того, что при использовании предложения AUTHORIZATION все создаваемые объекты будут принадлежать указанной роли.
schema_name
user_name
schema_element
IF NOT EXISTS
Для создания схемы пользователь должен обладать привилегией CREATE для текущей базы данных или быть суперпользователем.
Создание схемы:
CREATE SCHEMA myschema;
Создание схемы для роли joe (эта схема также будет называться joe):
CREATE SCHEMA AUTHORIZATION joe;
Создание схемы с именем test, которой владеет пользователь joe, если схема с таким именем ещё не существует. (Это не влияет на наличие у joe уже существующей схемы.)
CREATE SCHEMA IF NOT EXISTS test AUTHORIZATION joe;
Стандарт SQL допускает использование предложения DEFAULT CHARACTER SET в команде CREATE SCHEMA, а также поддерживает больше типов подкоманд, чем те, которые в настоящее время поддерживаются в базе данных YMatrix.
Согласно стандарту SQL, подкоманды в CREATE SCHEMA могут располагаться в любом порядке. Текущая реализация базы данных YMatrix не обрабатывает все прямые ссылки в подкомандах; иногда может потребоваться переупорядочить подкоманды, чтобы избежать ссылок на ещё не объявленные объекты.
Согласно стандарту SQL, владельцем схемы всегда является владелец всех объектов в ней. База данных YMatrix позволяет схемам содержать объекты, владельцами которых являются пользователи, отличные от владельца схемы. Это возможно только в случае, если владелец схемы предоставил другим пользователям привилегию CREATE для этой схемы, либо если суперпользователь решил создать объект в этой схеме.
Опция IF NOT EXISTS является расширением базы данных YMatrix.