暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第7天 | 表空间管理学习

原创 大道至简 2021-12-18
398

第7课作业打卡

学习目标:学习openGauss表空间

表空间用于管理数据对象,与磁盘上的一个目录对应

1.创建表空间

表空间tspc1使用相对路径指定所在目录,表空间tspc2指定owner为Lucy

CREATE TABLESPACE tspc1 RELATIVE LOCATION ‘tablespace/tablespace_1’;
CREATE user Lucy IDENTIFIED BY ‘abce@123’;
CREATE TABLESPACE tspc2 OWNER Lucy RELATIVE LOCATION ‘tablespace/tablespace_2’;

–查看表空间信息
\db

omm=# CREATE TABLESPACE tspc1 RELATIVE LOCATION 'tablespace/tablespace_1';
CREATE TABLESPACE
omm=# CREATE user Lucy IDENTIFIED BY 'abce@123';
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# CREATE TABLESPACE tspc2 OWNER Lucy RELATIVE LOCATION 'tablespace/tablespace_2';
CREATE TABLESPACE
omm=# 
omm=# \db
             List of tablespaces
    Name    | Owner |        Location         
------------+-------+-------------------------
 pg_default | omm   | 
 pg_global  | omm   | 
 tspc1      | omm   | tablespace/tablespace_1
 tspc2      | lucy  | tablespace/tablespace_2
(4 rows)

2.表空间内创建表

在表空间tspc1中建表,并使用视图pg_tables查看信息
create table ts1_t1(id int, name char(30)) tablespace tspc1;
–通过视图查看表所在的表空间
select schemaname,tablename,tableowner,tablespace,created
from pg_tables where tablename = ‘ts1_t1’;

omm=# select schemaname,tablename,tableowner,tablespace,created 
omm-# from pg_tables where tablename = 'ts1_t1';
 schemaname | tablename | tableowner | tablespace |            created            
------------+-----------+------------+------------+-------------------------------
 public     | ts1_t1    | omm        | tspc1      | 2021-12-18 20:30:41.140099+08
(1 row)

3.修改表空间属性

重命名tspc1,修改tspc2的用户为Lily,使用\db查看表空间信息
ALTER TABLESPACE tspc1 RENAME TO tspc3;
CREATE user Lily IDENTIFIED BY ‘abcd@789’;
ALTER TABLESPACE tspc2 OWNER TO Lily;

omm=# ALTER TABLESPACE tspc1 RENAME TO tspc3;
ALTER TABLESPACE
omm=# CREATE user Lily IDENTIFIED BY 'abcd@789';
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# ALTER TABLESPACE tspc2 OWNER TO Lily;
ALTER TABLESPACE
omm=# 
omm=# \db
             List of tablespaces
    Name    | Owner |        Location         
------------+-------+-------------------------
 pg_default | omm   | 
 pg_global  | omm   | 
 tspc2      | lily  | tablespace/tablespace_2
 tspc3      | omm   | tablespace/tablespace_1
(4 rows)


4.删除表空间

在删除一个表空间之前,表空间里面不能有任何数据库对象

DROP TABLESPACE IF EXISTS 表空间名称;

omm=# DROP TABLESPACE IF EXISTS tspc2;
DROP TABLESPACE
omm=# DROP TABLESPACE IF EXISTS tspc3;
ERROR:  tablespace "tspc3" is not empty
omm=# 
omm=# drop table ts1_t1;
DROP TABLE
omm=# DROP TABLESPACE IF EXISTS tspc3;
DROP TABLESPACE

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论