CREATE TABLESPACE

定义表空间的 SQL 命令

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

CREATE TABLESPACE 被添加于 PostgreSQL 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

分类

DDL, SQL命令, 表空间

另请参阅

ALTER TABLESPACE, DROP TABLESPACE, 表空间

反馈

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