概述
Tablespace是指在文件系统中定义用来存放数据库对象文件的位置,也就是给表指定一个存储目录,在PostgreSQL 和 MogDB/openGauss 数据库的表空间管理方式是不一样的,本文将列举两个数据库之间的异同。
在PostgreSQL 和 MogDB数据库里创建数据库、表和索引的时候,如果没有指定表空间,默认会将数据库对象放在pg_default表空间下(数据目录下的./base目录),一个表空间只属于一个instance,但可以被多个database共用,不同的数据库之间通过database的oid区分。
| PostgreSQL 14 | MogDB 2.0.1 | 备注 | |
|---|---|---|---|
| 重命名 | 支持 | 支持 | |
| 修改owner | 支持 | 支持 | |
| 绝对路径 | 支持 | 支持 | 真实路径会软连到pg_tblspc目录下统一管理 |
| 相对路径 | - | 支持 | 会在pg_location目录下创建表空间并软连到pg_tblspc目录下统一管理 |
| 指定大小 | - | 支持 | |
| 重置大小 | - | 支持 | |
| filesystem | - | 支持 | |
| seq_page_cost | 支持 | 支持 | |
| random_page_cost | 支持 | 支持 | |
| effective_io_concurrency | 支持 | - | |
| maintenance_io_concurrency | 支持 | - |
语法
PostgreSQL
--创建
CREATE TABLESPACE tablespace_name
[ OWNER { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ]
LOCATION 'directory'
[ WITH ( tablespace_option = value [, ... ] ) ]
tablespace_option可用的参数是:seq_page_cost, random_page_cost, effective_io_concurrency and maintenance_io_concurrency
--修改
ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] )
ALTER TABLESPACE name RESET ( tablespace_option [, ... ] )
MogDB
--创建
CREATE TABLESPACE tablespace_name
[ OWNER user_name ] [RELATIVE] LOCATION 'directory' [ MAXSIZE 'space_size' ]
[with_option_clause];
with_option_clause使用方式:
WITH ( {filesystem= { 'general'| "general" | general} |
random_page_cost = { 'value ' | value } |
seq_page_cost = { 'value ' | value }}[,...]);
--修改
ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name;
ALTER TABLESPACE tablespace_name OWNER TO new_owner;
ALTER TABLESPACE tablespace_name SET ( {tablespace_option = value} [, ... ] );
ALTER TABLESPACE tablespace_name RESET ( tablespace_option [, ... ] );
ALTER TABLESPACE tablespace_name RESIZE MAXSIZE { UNLIMITED | 'space_size' };
最后修改时间:2021-11-29 15:32:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




