CREATE TABLESPACE

Name

CREATE TABLESPACE -- 定義一個新的資料表空間

Synopsis

CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'

描述

CREATE TABLESPACE 註冊一個新的集群範圍內的資料表空間。 資料表空間的名字必須在該資料庫集群中的任何現有資料表空間中唯一。

一個資料表空間允許超級用戶在文件系統中定義一個可選的位置,這個位置可以存放代資料表資料庫對象的資料文件(比如資料表和索引)。

一個用戶,如果有合適的權限,就可以給 CREATE DATABASECREATE TABLECREATE INDEX 或者 ADD CONSTRAINT 傳遞 tablespacename,這樣就讓使用這些對象的資料文件儲存在指定的資料表空間裡。

參數

tablespacename

要建立的資料表空間的名字。這個名字不能以 pg_ 開頭,因為這些名字是保留給系統資料表空間使用的。

username

將擁有這個資料表空間的用戶名。如果省略,預設為執行此命令的用戶名。 只有超級用戶可以建立資料表空間,但是他們可以把資料表空間的所有權賦予非超級用戶。

directory

用於資料表空間的目錄。目錄必須是空的,並且由 PostgreSQL 系統用戶所有。 目錄必須用一個絕對路徑聲明。

注意

只有在那些支援符號連接的系統上才支援資料表空間。

例子

/data/dbs 建立一個資料表空間 dbspace

CREATE TABLESPACE dbspace LOCATION '/data/dbs';

/data/indexes 建立一個資料表空間 indexspace,由用戶 genevieve 所有:

CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';

相容性

CREATE TABLESPACEPostgreSQL 的擴展。

又見

CREATE DATABASE, CREATE TABLE, CREATE INDEX, DROP TABLESPACE, ALTER TABLESPACE