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

《openGauss每日一练第8天|分区表操作》

原创 拾樱 2021-12-20
766

一、学习目标

学习openGauss分区表(范围分区表)

二、分区表(PARTITION)

  1. 简介
    分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。
    分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。

三、openGauss基础操作

  • openGauss连接
su - omm
gsql -r
复制
  • 查看openGauss表信息
// 显示表信息(包括分区表)
\d
// 显示表更多信息
\d+
// 显示指定表更多信息
\d+ table_name
复制

四、openGauss分区表操作

  • 创建分区表
// 创建按照c1范围分区的分区表
create table update_table
(
        c1 int,
        c2 CHAR(2)
)
partition by range (c1)
(
        partition update_table_p0 values less than (50),
        partition update_table_p1 values less than (100),
        partition update_table_p2 values less than (150)
);

// 查看分区表信息
select * from pg_partition;

// 插入正确数据
insert into update_table values (1, 'a'), (50, 'b'), (100, 'c');

// 插入超出范围数据会报错
insert into update_table values (150, 'd');

// 查询分区1的数据
select * from update_table partition(update_table_p0);
复制
  • 增加分区
alter table update_table add partition update_table_p3 values less than (200);

// 插入数据
insert into update_table values (150, 'd');
复制
  • 修改分区属性
alter table update_table rename partition update_table_p1 to update_table_p1_1;
复制
  • 删除分区
alter table update_table drop partition update_table_p0;
复制
  • 删除分区表
drop table update_table;
复制

五、课后作业

  • 创建一个含有5个分区的范围分区表store,在每个分区中插入记录
// 创建按照数量num的分区表store
CREATE TABLE store(
num int,
name char(30)
)
PARTITION BY RANGE(num)
(
	PARTITION store_0 VALUES less than (20),
	PARTITION store_1 VALUES less than (40),
	PARTITION store_2 VALUES less than (60),
	PARTITION store_3 VALUES less than (80),
	PARTITION store_4 VALUES less than (100)
);

// 插入数据
INSERT INTO store VALUES
(10,'a'),
(30,'s'),
(50,'d'),
(70,'f'),
(90,'g');
复制
  • 查看分区1上的数据
select * from store partiton(store_0);
复制
  • 重命名分区2
alter table store rename partition store_1 to store_1_1;
复制
  • 删除分区5
alter table store drop partition store_4;
复制
  • 增加分区6
alter table store add partition store_5 values less than (120);
复制
  • 在系统表pg_partition中查看分区信息
select * from pg_partition;
复制
  • 删除分区表
drop table store;
复制
最后修改时间:2021-12-20 19:38:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论