400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
定义一个新的表空间。
CREATE TABLESPACE tablespace_name [OWNER username] LOCATION '/path/to/dir'
[WITH (contentID_1='/path/to/dir1'[, contentID_2='/path/to/dir2' ... ], storage_degradation_parameter)]
CREATE TABLESPACE 为 YMatrix 数据库系统注册并配置新的表空间。 表空间名称必须不同于系统中任何现有表空间的名称。 表空间是 YMatrix 数据库系统对象(全局对象),如果您具有适当的特权,则可以使用任何数据库中的表空间。
表空间允许超级用户定义包含数据库对象(例如表和索引)的数据文件所在的备用主机文件系统位置。
具有适当特权的用户可以将表空间名称传递给 CREATE DATABASE, CREATE DATABASE 或 CREATE INDEX, 以将这些对象的数据文件存储在指定的表空间中。
在 YMatrix 数据库中,文件系统位置必须存在于所有主机上, 包括运行 Master,Standby,每个 Primary 和每个 Mirror 的主机。
tablespacename
OWNER username
LOCATION '/path/to/dir'
contentID_i='/path/to/dir_i'
storage_degradation_parameter
表空间仅在支持符号链接的系统上受支持。
CREATE TABLESPACE 不能在事务块内执行。
创建表空间时,请确保文件系统位置具有足够的 I/O 速度和可用磁盘空间。
CREATE TABLESPACE 创建从 Master 和 Segment 实例数据目录中的 pg_tblspc 目录到命令中指定目录的符号链接。
系统 catalog 表 pg_tablespace 存储表空间信息。 此命令显示表空间的 OID 值,名称和所有者。
SELECT oid, spcname, spcowner FROM pg_tablespace ;
YMatrix 数据库内置函数 gp_tablespace_location(tablespace_oid) 显示所有 Segment 实例的表空间主机系统文件位置。 此命令列出 OID 为 16385 的表空间的 Segment 数据库 ID 和主机系统文件位置。
SELECT * FROM gp_tablespace_location(16385)
字段名 | 单位 | 默认值 | 取值范围 | 描述 |
---|---|---|---|---|
oss_accessid | 0 ~ 2048 | 访问密钥 | ||
oss_secretkey | 0 ~ 2048 | 私密访问密钥。默认会对该字段做加密,保存的是密文。加密功能可以通过参数 mx_enable_oss_secretkey_encrypt 关闭 | ||
oss_sessiontoken | 0 ~ 2048 | STS 机制的 token。默认会对该字段做加密,保存的是密文。加密功能可以通过参数 mx_enable_oss_sessiontoken_encrypt 关闭 | ||
oss_region | cn-north-1 | 0 ~ 2048 | 对象服务区域(本地环境无需填写) | |
oss_endpoint | 0 ~ 2048 | 对象服务地址 | ||
oss_bucket | 0 ~ 2048 | 对象桶名称 | ||
oss_keyprefix | 0 ~ 2048 | 对象桶前缀。对象前缀类似于子目录,要求必须以 / 结束 |
||
oss_cache_size | MB | 2048 | 1 ~ INT_MAX | 指定用文件缓存对象存储时,表空间下可以占用的最大文件空间 |
创建一个新表空间,并为 Master 和所有 Segment 实例指定文件系统位置:
CREATE TABLESPACE mytblspace LOCATION '/gpdbtspc/mytestspace' ;
创建一个新表空间,并为 content ID 为 0 和 1 的 Segment 实例指定一个位置。 对于未在 WITH 子句中列出的 Master 和 Segment 实例, 在 LOCATION 子句中指定该表空间的文件系统位置。
CREATE TABLESPACE mytblspace LOCATION '/gpdbtspc/mytestspace' WITH (content0='/temp/mytest', content1='/temp/mytest');
该示例为两个 Segment 实例指定了相同的位置。 您可以为每个 Segment 指定不同的位置。
为接入降级存储功能在集群创建一个表空间:
CREATE TABLESPACE tbs LOCATION '/temp/mytest'
WITH(
oss_accessid='XYwJgHLTWGlk2KmP9Ruc',
oss_secretkey='fk160295luHpQsq2DiaIYaTBAzNCkjgoIMr1OHIT',
oss_endpoint='http://localhost:9000',
oss_bucket='test'
);
CREATE TABLESPACE 是 YMatrix 数据库扩展。