DWS的表空间布局介绍

网友投稿 756 2022-05-29

一、DWS表空间介绍

DWS中的表空间实际上就是数据文件系统位置上的一个目录而已,目录中存放了所有的其他对象,例如:表、索引等等;                                                                    DWS的表空间又分为:默认表空间:pg_default(base)、全局共享系统表表空间pg_global(global)、用户自定义表空间。                                                                        DWS的集群中,每个数据库都会在数据目录的base目录下生成一个子目录,文件目录的名称与数据库的OID一一对应,一个表空间可以让多个数据库使用;数据库的目录也可以分布在多个表空间上,也就是说同一个数据库oid可以存在于不同表空间,属于“多对多”关系。(在Oracle中,一个表空间只属于一个数据库使用,而一个数据库可以使用多个表空间,属于一对多的关系)。

二、DWS默认表空间--pg_default

pg_default 表空间用来存储系统目录对象、用户表、用户表index等等,对应的目录是数据目录下的base目录;                                                                                      1) :目录名称是"1"的表示是系统数据库template1的数据库对象存储目录;                                                                                                                                                  2) :目录数字倒数第二的是系统数据库template0的数据库对象存储目录;                                                                                                                                                  3) :目录数字倒数第三的是系统数据库postgres的数据库对象存储目录;                                                                                                                                                    4) :其他数字目录是用户建立的数据库目录;                                                                                                                                                                                              5) :目录的命名方法就是数据库的oid值;                                                                                                                                                                                                    6) :目录中_fsm的文件记录的是每个数据块的空闲空间;                                                                                                                                                                              7) :目录中_vm文件让vacuum操作高效工作,被标记为无效的记录需要用vacuum/vacuum full 来进行清理操作,需要一个文件来标识哪些数据块中存在无效的记录来达到高效的清理。

三、DWS系统表空间--pg_global空间

pg_global空间是存放共享的全局系统表的位置,文件种类也类似base目录,一般在数据目录下的global目录;大多数的系统目录都是在数据库创建过程中从模板数据库中拷贝过来的,因此都是与数据库相关的。少数的目录在物理上是在一个集簇的所有数据库间中共享的。常见的使用的全局系统表如下:

四、DWS表空间管理相关命令

1、查看表空间                                                                                                                                                                                                                                                         select * from pg_tablespace;

2、创建表空间                                                                                                                                                                                                                                                         CREATE TABLESPACE tablespace_name [ OWNER user_name ] RELATIVE LOCATION 'directory' [ MAXSIZE 'space_size' ] [with_option_clause];                         其中:  RELATIVE

使用相对路径,LOCATION目录是相对于各个CN/DN数据目录下的。

目录层次:CN和DN的数据目录/pg_location/相对路径

相对路径最多指定两层

3、删除表空间                                                                                                                                                                                                                                                           drop tablespace tablespace_name;

4、给数据库指定默认表空间

DWS的表空间布局介绍

ALTER DATABASE name SET TABLESPACE new_tablespace;

5、将表从一个表空间移到另一个表空间

ALTER TABLE name SET TABLESPACE new_tablespace;

EI企业智能 Gauss AP 数据仓库服务 GaussDB(DWS) 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:VSCode:Easy LESS自动生成css的配置
下一篇:Android四大组件详解【Android专题3】
相关文章