CREATE TABLESPACE
CREATE TABLESPACE — создать табличное пространство
Синтаксис
CREATE TABLESPACEтабл_пространство
[ OWNER {новый_владелец
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ] LOCATION 'шаблон
' [ WITH (параметр_табличного_пространства
=значение
[, ... ] ) ]
Описание
Расширение синтаксиса команды CREATE TABLESPACE
в Shardman позволяет создавать новое табличное пространство на уровне кластера. Все табличные пространства в кластере Shardman должны создаваться на уровне кластера. Табличное пространство на уровне кластера создаётся на каждом узле с расположением, полученным из параметра шаблон
.
Параметры
-
табл_пространство
Имя создаваемого табличного пространства. Это имя не может начинаться с
pg_
, так как такие имена зарезервированы для системных табличных пространств. Имя также не может содержать символы начала новой строки.-
шаблон
Шаблон имени каталога, который будет использоваться для табличного пространства. Шаблон должен включать подстроку «{rgid}», которая преобразовывается в фактический идентификатор группы репликации в каждом экземпляре, где выполняется оператор. Шаблон имени каталога должен разрешать преобразование в абсолютный путь. Путь не может содержать символы начала новой строки.
CREATE TABLESPACE
создаёт соответствующий каталог, если он отсутствует. Если каталог существует, он должен быть пуст и принадлежать системному пользователю PostgreSQL.-
параметр_табличного_пространства
Параметр табличного пространства, который нужно установить или сбросить. Список параметров должен включать логический параметр
global
. Создание неглобальных табличных пространств по умолчанию запрещено.
Примеры
Чтобы создать табличное пространство dbspace
, расположенное в файловой системе в каталоге /data/dbs
, сначала создайте этот каталог средствами операционной системы на всех узлах и установите для него подходящего владельца (или проверьте, что у пользователя postgres
есть право его создать):
mkdir /data/dbs chown postgres:postgres /data/dbs
Затем выполните в PostgreSQL команду, собственно создающую табличное пространство:
CREATE TABLESPACE dbspace LOCATION '/data/dbs/ts-{rgid}' WITH (global);
См. также
PostgreSQLCREATE TABLESPACE