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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了