ALTER TABLESPACE#
ALTER TABLESPACE
ALTER TABLESPACE — изменить определение табличного пространства
Синтаксис
ALTER TABLESPACEname
RENAME TOnew_name
ALTER TABLESPACEname
OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER TABLESPACEname
SET (tablespace_option
=value
[, ... ] ) ALTER TABLESPACEname
RESET (tablespace_option
[, ... ] )
Описание
ALTER TABLESPACE
может быть использовано для изменения определения
табличного пространства.
Вы должны владеть таблицевым пространством, чтобы изменить его определение.
Чтобы изменить владельца, вы также должны иметь возможность SET ROLE
на новую роль владельца.
(Обратите внимание, что суперпользователи имеют эти привилегии автоматически.)
Параметры
name
Имя существующего табличного пространства.
new_name
Новое имя табличного пространства. Новое имя не может начинаться с
pg_
, так как такие имена зарезервированы для системных табличных пространств.new_owner
Новый владелец табличного пространства.
tablespace_option
Параметр табличного пространства, который нужно установить или сбросить. В настоящее время доступны только параметры
seq_page_cost
,random_page_cost
,effective_io_concurrency
иmaintenance_io_concurrency
. Установка этих значений для конкретного табличного пространства переопределит обычную оценку планировщика стоимости чтения страниц из таблиц в этом табличного пространства и поведение предварительной выборки исполнителя, установленное параметрами конфигурации с тем же именем (см. seq_page_cost, random_page_cost, effective_io_concurrency, maintenance_io_concurrency). Это может быть полезно, если одно табличного пространства расположено на диске, который работает быстрее или медленнее, чем остальная подсистема ввода-вывода.
Примеры
Переименовать табличное пространство index_space
в fast_raid
:
ALTER TABLESPACE index_space RENAME TO fast_raid;
Изменить владельца табличного пространства имен index_space
:
ALTER TABLESPACE index_space OWNER TO mary;
Совместимость
В стандарте SQL нет оператора ALTER TABLESPACE
.