.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "CREATE TABLESPACE" "" "2007-05-04" "SQL - 言語" "SQLコマンド"
.SH NAME
CREATE TABLESPACE \- 新しいテーブル空間を定義する

.SH SYNOPSIS
.sp
.nf
CREATE TABLESPACE \fItablespacename\fR [ OWNER \fIusername\fR ] LOCATION '\fIdirectory\fR'
.sp
.fi
.SH "説明"
.PP
\fBCREATE TABLESPACE\fRはクラスタ全体で使用できるテーブル空間を新規に登録します。
このテーブル空間名は、データベースクラスタ内の既存のテーブル空間名と異なるものでなければなりません。
.PP
テーブル空間を使用すると、スーパーユーザが、データベースオブジェクト（テーブルやインデックスなど）が入ったデータファイルを、ファイルシステム上のどの場所に格納するかを別途定義できます。
.PP
適切な権限を持つユーザは、\fBCREATE DATABASE\fRや\fBCREATE TABLE\fR、\fBCREATE INDEX\fR、\fBADD CONSTRAINT\fRコマンドに\fItablespacename\fRを渡すことで、これらのオブジェクトを指定したテーブル空間に格納することができます。
.SH "パラメータ"
.TP
\fB\fItablespacename\fB\fR
作成するテーブル空間の名前です。
pg_から始まる名前はシステムのテーブル空間用に予約されているので使用することはできません。
.TP
\fB\fIusername\fB\fR
テーブル空間を所有するユーザの名前です。
省略時はデフォルトでコマンドを実行したユーザとなります。
テーブル空間を作成できるのはスーパーユーザのみですが、テーブル空間の所有権を非スーパーユーザに割り当てることは可能です。
.TP
\fB\fIdirectory\fB\fR
テーブル空間用に使用するディレクトリです。
このディレクトリは空でなければなりません。また、PostgreSQLシステムユーザが所有していなければなりません。
このディレクトリは絶対パス名で指定する必要があります。
.SH "注釈"
.PP
テーブル空間をサポートしているのは、シンボリックリンクをサポートしているシステムのみです。
.PP
トランザクションブロック内で\fBCREATE TABLESPACE\fRを実行することはできません。
.SH "例"
.PP
/data/dbsにdbspaceテーブル空間を作成します。
.sp
.nf
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
.sp
.fi
.PP
/data/indexesに、genevieveユーザが所有するindexspaceテーブル空間を作成します。
.sp
.nf
CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';
.sp
.fi
.SH "互換性"
.PP
\fBCREATE TABLESPACE\fRはPostgreSQLの拡張です。
.SH "関連項目"
CREATE DATABASE [\fBcreate_database\fR(l)], CREATE TABLE [\fBcreate_table\fR(l)], CREATE INDEX [\fBcreate_index\fR(l)], DROP TABLESPACE [\fBdrop_tablespace\fR(l)], ALTER TABLESPACE [\fBalter_tablespace\fR(l)]
