openGauss学习笔记-64 openGauss 数据库管理-创建和管理表空间

news2024/10/11 2:23:31

文章目录

    • openGauss学习笔记-64 openGauss 数据库管理-创建和管理表空间
      • 64.1 背景信息
      • 64.2 注意事项
      • 64.3 操作步骤
        • 64.3.1 创建表空间
        • 64.3.2 在表空间中创建对象
        • 64.3.3 查询表空间
        • 64.3.4 查询表空间使用率
        • 64.3.5 修改表空间
        • 64.3.6 删除表空间

openGauss学习笔记-64 openGauss 数据库管理-创建和管理表空间

64.1 背景信息

通过使用表空间,管理员可以控制一个数据库安装的磁盘布局。这样有以下优点:

  • 如果初始化数据库所在的分区或者卷空间已满,又不能逻辑上扩展更多空间,可以在不同的分区上创建和使用表空间,直到系统重新配置空间。

  • 表空间允许管理员根据数据库对象的使用模式安排数据位置,从而提高性能。

    • 一个频繁使用的索引可以放在性能稳定且运算速度较快的磁盘上,比如一种固态设备。
    • 一个存储归档的数据,很少使用的或者对性能要求不高的表可以存储在一个运算速度较慢的磁盘上。
  • 管理员通过表空间可以设置占用的磁盘空间。用以在和其他数据共用分区的时候,防止表空间占用相同分区上的其他空间。

  • 表空间对应于一个文件系统目录,假定数据库节点数据目录/pg_location/mount1/path1是用户拥有读写权限的空目录。

    使用表空间配额管理会使性能有30%左右的影响,MAXSIZE指定每个数据库节点的配额大小,误差范围在500MB以内。请根据实际的情况确认是否需要设置表空间的最大值。

openGauss自带了两个表空间:pg_default和pg_global。

  • 默认表空间pg_default:用来存储非共享系统表、用户表、用户表index、临时表、临时表index、内部临时表的默认表空间。对应存储目录为实例数据目录下的base目录。
  • 共享表空间pg_global:用来存放共享系统表的表空间。对应存储目录为实例数据目录下的global目录。

64.2 注意事项

在HCS(HUAWEI CLOUD Stack,华为云)等场景下一般不建议用户使用自定义的表空间。用户自定义表空间通常配合主存(即默认表空间所在的存储设备,如磁盘)以外的其它存储介质使用,以隔离不同业务可以使用的IO资源,而在HCS等场景下,存储设备都是采用标准化的配置,无其它可用的存储介质,自定义表空间使用不当不利于系统长稳运行以及影响整体性能,因此建议使用默认表空间即可。

64.3 操作步骤

64.3.1 创建表空间

  1. 执行如下命令创建用户superman。

    openGauss=# CREATE USER superman IDENTIFIED BY 'xxxxxxxxx';
    

    当结果显示为如下信息,则表示创建成功。

    CREATE ROLE
    
  2. 执行如下命令创建表空间。

    openGauss=# CREATE TABLESPACE superman_space RELATIVE LOCATION 'tablespace/tablespace_1';
    

    当结果显示为如下信息,则表示创建成功。

    CREATE TABLESPACE
    

    其中“superman_space”为新创建的表空间,“tablespace/tablespace_1”是用户拥有读写权限的空目录。

  3. 数据库系统管理员执行如下命令将“superman_space”表空间的访问权限赋予数据用户superman。

    openGauss=# GRANT CREATE ON TABLESPACE superman_space TO superman;
    

    当结果显示为如下信息,则表示赋予成功。

    GRANT
    

64.3.2 在表空间中创建对象

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

以创建表为例。

  • 方式1:执行如下命令在指定表空间创建表。

    openGauss=# CREATE TABLE foo(i int) TABLESPACE superman_space;
    

    当结果显示为如下信息,则表示创建成功。

    CREATE TABLE
    
  • 方式2:先使用set default_tablespace设置默认表空间,再创建表。

    openGauss=# SET default_tablespace = 'superman_space';
    SET
    openGauss=# CREATE TABLE foo2(i int);
    CREATE TABLE
    

    假设设置“superman_space”为默认表空间,然后创建表foo2。

64.3.3 查询表空间

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

    openGauss=# SELECT spcname FROM pg_tablespace;
    
  • 方式2:使用gsql程序的元命令查询表空间。

    openGauss=# \db
    

64.3.4 查询表空间使用率

  1. 查询表空间的当前使用情况。

    openGauss=# SELECT PG_TABLESPACE_SIZE('example');
    

    返回如下信息:

     pg_tablespace_size 
    --------------------
                2146304
    (1 row)
    

    其中2146304表示表空间的大小,单位为字节。

  2. 计算表空间使用率。

    表空间使用率=PG_TABLESPACE_SIZE/表空间所在目录的磁盘大小。

64.3.5 修改表空间

执行如下命令对表空间superman_space重命名为fspace。

openGauss=# ALTER TABLESPACE superman_space RENAME TO fspace;
ALTER TABLESPACE

64.3.6 删除表空间

img 说明:

用户必须是表空间的owner或者系统管理员才能删除表空间。

  1. 执行如下命令删除用户superman。

    openGauss=# DROP USER superman CASCADE;
    DROP ROLE
    
  2. 执行如下命令删除表foo和foo2。

    openGauss=# DROP TABLE foo;
    openGauss=# DROP TABLE foo2;
    

    当结果显示为如下信息,则表示删除成功。

    DROP TABLE
    
  3. 执行如下命令删除表空间fastpace。

    openGauss=# DROP TABLESPACE fastpace;
    DROP TABLESPACE
    

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230602173324373

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/993479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vite+vue3项目中集成ESLint与prettier

1. 集成eslint 1.1 安装eslint npm add -D eslint1.2 初始化ESLint配置 npx eslint --init1.3 配置初始化选择 我的选择如下: 安装完成后(根目录会生成.eslintrc.js文件) 这个配置文件是默认生成的 1.4 eslint不生效解决方案 检查vscode…

DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION (论文解析)

DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION 摘要1 介绍2 相关工作3 重新审视 Transformers 和 DETR4 方法4.1 用于端到端目标检测的可变形transformer4.2 Deformable Detr的其他改进和变型5 实验5.1 和DETR 比较5.2 消融实验5.3 与最先进方法的…

python数据分析之Pandas库(一)

Pandas介绍 Pandas有两种常用的数据结构: Series (一维数据)与 DataFrame(二维数据)。 Series 是一种类似于一维数组的对象,能保存不同数据类型。 DataFrame 是一个二维的表格型的数据结构。 一、导入 i…

网络编程(一):服务器模型、Java I/O模型、Reactor事件处理模型、I/O复用

文章目录 一、Socket和TCP/IP协议族的关系二、服务器模型1.C/S模型(Client/Server Model)2.P2P模型(Peer-to-Peer Model) 三、Java的I/O演进1.BIO(阻塞)(1)工作流程(2&am…

MATLAB实现函数拟合

目录 一.理论知识 1.拟合与插值的区别 2.几何意义 3.误差分析 二.操作实现 1.数据准备 2.使用cftool——拟合工具箱 三.函数拟合典例 四.代码扩展 一.理论知识 1.拟合与插值的区别 通俗的说,插值的本质是根据现有离散点的信息创建出更多的离散点&#xf…

HashMap解决哈希冲突

要了解 Hash冲突,那首先我们要先了解 Hash 算法和 Hash 表。 Hash算法 Hash 算法,就是把任意长度的输入,通过散列算法,变成固定长度的输出,这个输出结果是散列值。 Hash表 Hash 表又叫做“散列表”,它是通…

7.Xaml Image控件

1.运行图片 2.运行源码 a.xaml源码 <!--Source="/th.gif" 图像源--><!--Stretch="Fill" 填充模式--><Image x:Name

Qemu 架构 硬件模拟器

Qemu 架构 硬件模拟器 Qemu 是纯软件实现的虚拟化模拟器&#xff0c; 几乎可以模拟任何硬件设备&#xff0c; 我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机&#xff0c; 虚拟机认为自己和硬件打交道&#xff0c; 但其实是和 Qemu 模拟出来的硬件打交道&#xff…

单元测试界的高富帅,Pytest框架 (二) 前后置方法和 fixture 机制

前言 上一篇文章入门篇咱们介绍了pytest的基本使用&#xff0c;这一篇文章专门给大家讲解pytest中关于用例执行的前后置步骤处理,pytest中用例执行的前后置处理既可以通过测试夹具(fixtrue)来实现&#xff0c;也可以通过xunit 风格的前后置方法来实现。接下来我们一起看看如何…

利用procrank和lsof定位出客户软件内存OOM的问题

最近遇到一些事情&#xff0c;觉得挺憋屈的&#xff0c;可是再憋屈总得往前走吧&#xff01;打工人&#xff0c;不好办啊&#xff01;事情是这样的&#xff0c;笔者在芯片原厂负责SDK和行业解决方案输出的&#xff0c;可以理解成整体SDK turnkey方案。但是有些客户多少还要改一…

单例模式(饿汉式单例 VS 懒汉式单例)

所谓的单例模式就是保证某个类在程序中只有一个对象 一、如何控制只产生一个对象&#xff1f; 1.构造方法私有化&#xff08;保证对象的产生个数&#xff09; 创建类的对象&#xff0c;要通过构造方法产生对象 构造方法若是public权限&#xff0c;对于类的外部&#xff0c;可…

企业架构LNMP学习笔记31

负载均衡服务器的高可用备用服务器配置&#xff1a; 负载均衡服务器的配置比单台服务器的配置要高很多。硬件上要上一个台阶。 所有的请求流量都要经过负载均衡服务器&#xff0c;负载均衡服务器压力很大&#xff0c;防止她宕机&#xff0c;导致后端web服务器都不可用&#xf…

ROS2下使用TurtleBot3-->SLAM导航(仿真)RVIZ加载不出机器人模型

一、问题描述 在使用台式机进行仿真时&#xff0c;大部分例程很顺利&#xff0c;但在SLAM导航时&#xff0c;在RVIZ中却一直加载不出机器人模型&#xff0c;点击Navigation2 Goal选择目标点进行导航时&#xff0c;无响应。 启动后在RVIZ2和终端看到一个错误 按照官网的指令试…

探索 Wall-E 的寻路算法

几年前,Yandex 组织了一场名为“机器人快递员”的竞赛,并提供了诱人的奖品:一张参加专业人士封闭式自动驾驶会议的门票。该竞赛类似于一场游戏,参与者的任务是在地图上找到最佳路线并使用机器人快递员优化送货。 当我深入研究这个主题时,我发现尽管路线查找问题已经解决,…

ms17-010(永恒之蓝)漏洞复现

目录 前言 一、了解渗透测试流程 二、使用nmap工具对win7进行扫描 2.1 2.2 2.3 2.4 2.5 三、尝试ms17-010漏洞利用 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 四、结果展示 4.1 4.2 4.3 4.4 4.5 总结 前言 ms17-010&#xff08;永恒之蓝&am…

mysql八股1

参考MySQL八股文连环45问&#xff08;背诵版&#xff09; - 知乎 (zhihu.com) 基础 1.范式 第一范式&#xff1a;强调的是列的原子性 第二范式&#xff1a;要求实体的属性完全依赖于主关键字。所谓完全 依赖是指不能存在仅依赖主关键字一部分的属性。&#xff08;就是主键不…

Linux防火墙(iptables)

一、linux的防火墙组成 linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则&#xff0c;内核空间的netfilter实现防火墙功能。 netfilter&#xff08;内核空间&#xff09;位于Linux内核中的包过滤防火墙功能体系&#xff0c;称为Linux防火墙的“内核…

Vulnhub:Kira: CTF靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.238 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.238访问80端口 点击upload发现是个上传点 点击language发现存在文件包含 上传php图片马再利用文件包含反弹shell http://1…

CIO40: 数字化落地最佳实践(16000字)

1-数字化规划 第一步&#xff1a;数字化规划。CIO要根据企业的发展现况及未来战略方向、根据企业董事长的布局和理念、根据企业各业务板块领导人的格局和理念&#xff0c;做出一份董事长和领导层高度认同的数字化规划&#xff0c;而且需要用PPT进行完整和专业的表达出来&#x…

基于SpringBoot的在线教育平台系统

基于SpringBootVue的线教育平台系统&#xff0c;前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、学生、老师 …