Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Определяет новое табличное пространство.
CREATE TABLESPACE tablespace_name [OWNER username] LOCATION '/path/to/dir'
[WITH (contentID_1='/path/to/dir1'[, contentID_2='/path/to/dir2' ... ], storage_degradation_parameter)]
CREATE TABLESPACE регистрирует и настраивает новое табличное пространство для системы баз данных YMatrix. Имя табличного пространства должно отличаться от имени любого существующего табличного пространства в системе. Табличные пространства являются объектами системы баз данных YMatrix (глобальные объекты), и вы можете использовать их в любой базе данных, если у вас есть соответствующие привилегии.
Табличные пространства позволяют суперпользователям определять альтернативное расположение в файловой системе хоста, где будут размещаться файлы данных, содержащие объекты базы данных, такие как таблицы и индексы.
Пользователи с соответствующими привилегиями могут передавать имена табличных пространств в команды CREATE DATABASE, CREATE TABLE или CREATE INDEX, чтобы сохранять файлы данных этих объектов в указанном табличном пространстве.
В системе баз данных YMatrix пути в файловой системе должны существовать на всех хостах, включая хосты с процессами Master, Standby, каждый Primary и каждый Mirror.
tablespacename
OWNER username
LOCATION '/path/to/dir'
contentID_i='/path/to/dir_i'
storage_degradation_parameter
Поддержка табличных пространств реализована только в системах, поддерживающих символические ссылки.
Команда CREATE TABLESPACE не может выполняться внутри блока транзакции.
При создании табличных пространств убедитесь, что расположение в файловой системе обладает достаточной скоростью ввода-вывода и достаточным объёмом свободного дискового пространства.
CREATE TABLESPACE создаёт символическую ссылку из каталога pg_tblspc в директории данных экземпляров Master и Segment в каталог, указанный в команде.
Системная таблица каталога pg_tablespace хранит информацию о табличных пространствах. Эта команда отображает OID, имя и владельца табличного пространства.
SELECT oid, spcname, spcowner FROM pg_tablespace ;
Встроенная функция базы данных YMatrix gp_tablespace_location(tablespace_oid) отображает расположение табличного пространства в файловой системе хоста для всех экземпляров Segment. Данная команда выводит идентификатор базы данных Segment и расположение в файловой системе хоста для табличного пространства с OID 16385.
SELECT * FROM gp_tablespace_location(16385)
Ниже приведено описание параметров пониженного хранения:
| Имя поля | Единица измерения | Значение по умолчанию | Диапазон значений | Описание |
|---|---|---|---|---|
| oss_accessid | 0 ~ 2048 | Ключ доступа | ||
| oss_secretkey | 0 ~ 2048 | Закрытый ключ доступа. По умолчанию это поле шифруется, и сохраняется шифротекст. Функцию шифрования можно отключить с помощью параметра mx_enable_oss_secretkey_encrypt | ||
| oss_sessiontoken | 0 ~ 2048 | Токен механизма STS. По умолчанию это поле шифруется, и сохраняется шифротекст. Функцию шифрования можно отключить с помощью параметра mx_enable_oss_sessiontoken_encrypt | ||
| oss_region | cn-north-1 | 0 ~ 2048 | Регион облачного сервиса объектов (в локальной среде заполнять не требуется) | |
| oss_endpoint | 0 ~ 2048 | Адрес облачного сервиса объектов | ||
| oss_bucket | 0 ~ 2048 | Имя бакета объектов | ||
| oss_keyprefix | 0 ~ 2048 | Префикс бакета объектов. Префикс объекта аналогичен подкаталогу и должен заканчиваться на / |
||
| oss_cache_size | МБ | 2048 | 1 ~ INT_MAX | Указывает максимальный объём файлового пространства, который может занимать кэш файлов при использовании объектного хранилища |
Создание нового табличного пространства с указанием расположения в файловой системе для Master и всех экземпляров Segment:
CREATE TABLESPACE mytblspace LOCATION '/gpdbtspc/mytestspace' ;
Создание нового табличного пространства с указанием расположения для экземпляров Segment с идентификаторами контента 0 и 1. Для Master и экземпляров Segment, не перечисленных в предложении WITH, используется расположение, заданное в предложении LOCATION.
CREATE TABLESPACE mytblspace LOCATION '/gpdbtspc/mytestspace' WITH (content0='/temp/mytest', content1='/temp/mytest');
В этом примере для обоих экземпляров Segment указано одно и то же расположение. Вы можете указать разные расположения для каждого сегмента.
Создание табличного пространства в кластере для доступа к функции пониженного хранения:
CREATE TABLESPACE tbs LOCATION '/temp/mytest'
WITH(
oss_accessid='XYwJgHLTWGlk2KmP9Ruc',
oss_secretkey='fk160295luHpQsq2DiaIYaTBAzNCkjgoIMr1OHIT',
oss_endpoint='http://localhost:9000',
oss_bucket='test'
);
CREATE TABLESPACE является расширением базы данных YMatrix.