GBase 8c数据库中的表空间允许数据库管理员在文件系统中定义存储数据库对象文件的位置。
创建数据库对象时可以通过名称引用表空间。通过使用表空间,可以控制数据库安装的磁盘布局。
1、使用CREATE TABLESPACE进行表空间定义:
CREATE TABLESPACE fastspace LOCATION 'directory';
***注:该位置不能为移动存储,如果表空间丢失则集群无法工作。
directory必须是已经存在的空目录,且权限属于该用户。后续所有在该表空间中创建的对象都会被存放在这个目录下的文件中。
表空间的创建必须使用超级用户完成,可以给普通用户授权,以便给表空间分配表、索引和数据库。
2、示例:
在表空间space1中创建一个表
CREATE TABLE foo(i int) TABLESPACE space1;
使用default_tablespace参数也可以
SET default_tablespace = space1; CREATE TABLE foo(i int);
temp tablespaces列表是用来储存临时表和索引的位置,以及用于大数据集排序等的临时文件的存储位置。
如果创建数据库时没有指定表空间,则会使用其模板数据库的表空间。初始化数据库集群时会自动创建pg_global和pg_default表空间:
- pg_global表空间用于共享系统目录;
- pg_default表空间为template1和template0数据库的默认表空间。
3、pg_tablespace 系统目录可以查看现有表空间的集合:
SELECT spcname FROM pg_tablespace;
gsql程序的\db元命令也可以用来列出现有的表空间。ROP TABLESPACE命令可以删除空的表空间。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




