CREATE TABLESPACE

定义表空间的 SQL 命令

CREATE TABLESPACE 是一个用于定义表空间的 DDL 命令。

CREATE TABLESPACEPostgreSQL 8.0 中添加。

更改历史

示例

表空间目录必须存在

postgres=# CREATE TABLESPACE foo LOCATION '/tmp/tblspc_test';
ERROR:  directory "/tmp/tblspc_test" does not exist

并且必须由运行 PostgreSQL 的系统用户拥有

postgres=# CREATE TABLESPACE foo LOCATION '/tmp/tblspc_test';
ERROR:  could not set permissions on directory "/tmp/tblspc_test": Operation not permitted

创建成功后

postgres=# CREATE TABLESPACE foo LOCATION '/tmp/tblspc_test';
CREATE TABLESPACE

pg_tblspc 目录创建一个指向指定表空间目录 的符号链接

$ ls -l /var/lib/pgsql/data/pg_tblspc/
total 0
lrwxrwxrwx 1 postgres postgres 16 Nov  6 13:40 16495 -> /tmp/tblspc_test

尝试在现有的表空间目录中创建表空间

postgres=# CREATE TABLESPACE foo1 LOCATION '/tmp/tblspc_test';
ERROR:  directory "/tmp/tblspc_test/PG_14_202010291" already in use as a tablespace

分类

DDLSQL 命令表空间

参见

ALTER TABLESPACEDROP TABLESPACE表空间

反馈

提交任何关于“CREATE TABLESPACE”的评论、建议或更正 此处