4.7 表空间
4.7.1 什么是表空间
把不同的表放到不同的存储介质或文件系统下,这时就需要用到表空间
在PostgreSQL中,表空间实际上是为表指定一个存储目录
在创建数据库时可以为其指定默认的表空间
创建表、创建索引的时候可以指定表空间,这样表、索引就可以存储到表空间对应的目录下了
4.7.2 表空间的使用方法
表空间创建语法
CREATE TABLESPACE 表空间名 [ OWNER user_name ] LOCATION '存储路径'创建数据库时指定默认表空间
CREATE DATABASE 库名 TABLESPACE 表空间名;修改数据库默认表空间语法:
ALTER DATABASE 库名 SET TABLESPACE 表空间名;注意:执行操作时,不能有用户连接到这个数据库上,否则会报错
建表时候也可以指定表空间
CREATE TABLE 表名 ( 字段 类型, 字段 类型, ... ... ) TABLESPACE 表空间名创建索引时指定表空间
CREATE INDEX 索引名 ON 表名(字段名) TABLESPACE 表空间名;创建唯一约束时可以指定约束索引的表空间
ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE(字段名) USING INDEX TABLESPACE 表空间名;增加主键时指定逐渐索引表空间
ALTER TABLE 表名 ADD CONSTRAINT 索引名 PRIMARY KEY(字段名) USING INDEX TABLESPACE 表空间名;将表从一个表空间移到另一个表空间
ALTER TABLE 表名 SET TABLESPACE 新表空间名;注意:在移动表的时候表会被锁定,对此表的所有操作都将无法执行,包括SELECT操作,所以请考虑在合适的时机做这个操作。
最后更新于