openGauss中如何管理表空间

openGauss 中如何管理表空间
在 openGauss 中,表空间是一个目录,在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间,里面存储的是它所包含的数据库的各种物理文件。由于表空间是一个目录,仅是起到了物理隔离的作用,其管理功能依赖于文件系统。

表空间可以存在多个,创建好之后,创建数据库对象时可以指定该对象所属的表空间。

创建表空间

执行如下命令创建用户 jack。

openGauss=#CREATE USER jack IDENTIFIED BY 'Bigdata@123';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
执行如下命令创建表空间。

openGauss=#CREATE TABLESPACE fastspace RELATIVE LOCATION 'tablespace/tablespace_1';
CREATE TABLESPACE
数据库系统管理员执行如下命令将“fastspace”表空间的访问权限赋予数据用户 jack。

openGauss=#GRANT CREATE ON TABLESPACE fastspace TO jack;
GRANT
在表空间中创建对象

如果用户拥有表空间的 CREATE 权限,就可以在表空间上创建数据库对象,比如:表和索引等。

以创建表为例。

执行如下命令在指定表空间创建表。

openGauss=# CREATE TABLE foo(i int) TABLESPACE fastspace;
CREATE TABLE
查询表空间

检查 pg_tablespace 系统表。如下命令可查到系统和用户定义的全部表空间。

openGauss=# SELECT spcname FROM pg_tablespace;
spcname

pg_default
pg_global
fastspace
(3 rows)
修改表空间

openGauss=# ALTER TABLESPACE fastspace RENAME TO fspace;
ALTER TABLESPACE
删除表空间

注意:表空间下存在对象(表)时,无法删除。

openGauss=# DROP TABLESPACE fspace;
ERROR: tablespace "fspace" is not empty
openGauss=# drop table foo;
DROP TABLE
openGauss=# drop tablespace fspace;
DROP TABLESPACE

posted @   openGaussbaby  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示