CREATE TABLESPACE
CREATE TABLESPACE â ÑоздаÑÑ ÑаблиÑное пÑоÑÑÑанÑÑво
СинÑакÑиÑ
CREATE TABLESPACEÑабл_пÑоÑÑÑанÑÑво[ OWNER {новÑй_владелеÑ| CURRENT_USER | SESSION_USER } ] LOCATION 'каÑалог' [ WITH (паÑамеÑÑ_ÑаблиÑного_пÑоÑÑÑанÑÑва=знаÑение[, ... ] ) ]
ÐпиÑание
CREATE TABLESPACE ÑегиÑÑÑиÑÑÐµÑ Ð½Ð¾Ð²Ð¾Ðµ ÑаблиÑное пÑоÑÑÑанÑÑво на ÑÑовне клаÑÑеÑа баз даннÑÑ
. ÐÐ¼Ñ ÑаблиÑного пÑоÑÑÑанÑÑва должно оÑлиÑаÑÑÑÑ Ð¾Ñ Ð¸Ð¼Ñн Ñже ÑÑÑеÑÑвÑÑÑиÑ
ÑаблиÑнÑÑ
пÑоÑÑÑанÑÑв в клаÑÑеÑе.
ТаблиÑнÑе пÑоÑÑÑанÑÑва позволÑÑÑ ÑÑпеÑполÑзоваÑелÑм опÑеделÑÑÑ Ð°Ð»ÑÑеÑнаÑивнÑе ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² Ñайловой ÑиÑÑеме, где могÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ ÑайлÑ, ÑодеÑжаÑие обÑекÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ (напÑимеÑ, ÑаблиÑÑ Ð¸Ð»Ð¸ индекÑÑ).
ÐолÑзоваÑелÑ, имеÑÑий ÑооÑвеÑÑÑвÑÑÑие пÑава, Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаÑÑ Ð¿Ð°ÑамеÑÑ Ñабл_пÑоÑÑÑанÑÑво команде CREATE DATABASE, CREATE TABLE, CREATE INDEX или ADD CONSTRAINT, ÑÑÐ¾Ð±Ñ ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ
Ð´Ð»Ñ ÑÑиÑ
обÑекÑов Ñ
ÑанилиÑÑ Ð² Ñказанном ÑаблиÑном пÑоÑÑÑанÑÑве.
ÐÑедÑпÑеждение
ТаблиÑное пÑоÑÑÑанÑÑво нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ð¾ÑделÑно Ð¾Ñ ÐºÐ»Ð°ÑÑеÑа, в коÑоÑом оно бÑло опÑеделено; Ñм. Раздел 22.6.
ÐаÑамеÑÑÑ
Ñабл_пÑоÑÑÑанÑÑвоÐÐ¼Ñ Ñоздаваемого ÑаблиÑного пÑоÑÑÑанÑÑва. ÐÑо Ð¸Ð¼Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑинаÑÑÑÑ Ñ
pg_, Ñак как Ñакие имена заÑезеÑвиÑÐ¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ ÑиÑÑемнÑÑ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв.имÑ_полÑзоваÑелÑÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем ÑаблиÑного пÑоÑÑÑанÑÑва. ÐÑли опÑÑено, владелÑÑем по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ°Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, вÑполнÑÑÑий командÑ. СоздаваÑÑ ÑаблиÑнÑе пÑоÑÑÑанÑÑва могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели, но Ð¸Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑами могÑÑ Ð±ÑÑÑ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ñ Ð¸ обÑÑнÑе полÑзоваÑели.
каÑалогÐаÑалог, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзован Ð´Ð»Ñ ÑÑого ÑаблиÑного пÑоÑÑÑанÑÑва. ÐÑÐ¾Ñ ÐºÐ°Ñалог должен бÑÑÑ Ð¿ÑÑÑÑм и должен пÑинадлежаÑÑ ÑиÑÑÐµÐ¼Ð½Ð¾Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ PostgreSQL. ÐадаваÑÑÑÑ ÐµÐ³Ð¾ ÑаÑположение должно абÑолÑÑнÑм пÑÑÑм.
паÑамеÑÑ_ÑаблиÑного_пÑоÑÑÑанÑÑваУÑÑанавливаемÑй или ÑбÑаÑÑваемÑй паÑамеÑÑ ÑаблиÑного пÑоÑÑÑанÑÑва. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ ÑолÑко паÑамеÑÑÑ
seq_page_cost,random_page_costиeffective_io_concurrency. ÐÑи ÑÑÑановке ÑÑÐ¸Ñ Ð·Ð½Ð°Ñений Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑаблиÑного пÑоÑÑÑанÑÑва бÑÐ´ÐµÑ Ð¿ÐµÑеопÑеделена обÑÑÐ½Ð°Ñ Ð¾Ñенка ÑÑоимоÑÑи ÑÑÐµÐ½Ð¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ Ð¸Ð· ÑÐ°Ð±Ð»Ð¸Ñ Ð² ÑÑом пÑоÑÑÑанÑÑве, наÑÑÑÐ°Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð¾Ð´Ð½Ð¾Ð¸Ð¼ÑннÑм паÑамеÑÑом конÑигÑÑаÑии (Ñм. seq_page_cost, random_page_cost, effective_io_concurrency). ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾, еÑли одно из ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв ÑазмеÑено на диÑке, коÑоÑÑй бÑÑÑÑее или медленнее оÑÑалÑной диÑковой подÑиÑÑемÑ.
ÐамеÑаниÑ
ТаблиÑнÑе пÑоÑÑÑанÑÑва поддеÑживаÑÑÑÑ ÑолÑко на плаÑÑоÑÐ¼Ð°Ñ , поддеÑживаÑÑÐ¸Ñ ÑимволиÑеÑкие ÑÑÑлки.
CREATE TABLESPACE не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñполнена внÑÑÑи блока ÑÑанзакÑии.
ÐÑимеÑÑ
Создание ÑаблиÑного пÑоÑÑÑанÑÑва dbspace в /data/dbs:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
Создание ÑаблиÑного пÑоÑÑÑанÑÑва indexspace в /data/indexes и назнаÑение его владелÑÑем genevieve:
CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';
СовмеÑÑимоÑÑÑ
CREATE TABLESPACE ÑвлÑеÑÑÑ ÑаÑÑиÑением PostgreSQL.