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

openGauss每日一练第10天 | 学习心得体会

原创 6号见 2021-12-10
401

1.创建范围分区表products, 为表创建分区表索引1,不指定索引分区的名称,创建分区表索引2,并指定索引分区的名称,创建GLOBAL分区索引3

create table products (product_id int,product_name char(50),sale_date date)
partition by range(sale_date)
(partition p1 values less than (to_date('2021-03-01','yyyy-mm-dd')),
partition p2 values less than (to_date('2021-06-01','yyyy-mm-dd')),
partition p3 values less than (to_date('2021-09-01','yyyy-mm-dd')),
partition p4 values less than (to_date('2021-12-01','yyyy-mm-dd')));

create index products_sale_date_idx1 on products(sale_date) local;

create index products_sale_date_idx2 on products(sale_date) local
(
partition idx1_p1,
partition idx1_p2,
partition idx1_p3,
partition idx1_p4);

create index products_sale_date_idx3 on products(product_id) global;

2.在分区表索引1上,修改分区表索引的表空间,重命名分区表索引

create tablespace example relative location 'tablespace/example';
alter index products_sale_date_idx1 move partition p1_sale_date_idx tablespace example;
alter index products_sale_date_idx1 rename partition p2_sale_date_idx to p5_sale_date_idx;

3.在分区表索引2上,重建单个索引分区和分区上的所有索引

alter index products_sale_date_idx2 rebuild partition idx1_p1;
reindex table products partition p1;

4.使用\d+、系统视图pg_indexes和pg_partition查看索引信息

\d+ products
                             Table "public.products"
    Column    |     Type      | Modifiers | Storage  | Stats target | Description 
--------------+---------------+-----------+----------+--------------+-------------
 product_id   | integer       |           | plain    |              | 
 product_name | character(50) |           | extended |              | 
 sale_date    | date          |           | plain    |              | 
Indexes:
    "products_sale_date_idx1" btree (sale_date) LOCAL(PARTITION p1_sale_date_idx TABLESPACE example, PARTITION p5_sale_date_idx, PARTITION p3_sale_date_idx, PARTITION p4_sale_date_idx)  TABLESPACE pg_default
    "products_sale_date_idx2" btree (sale_date) LOCAL(PARTITION idx1_p1, PARTITION idx1_p2, PARTITION idx1_p3, PARTITION idx1_p4)  TABLESPACE pg_default
    "products_sale_date_idx3" btree (product_id) TABLESPACE pg_default
Range partition by(sale_date)
Number of partition: 4 (View pg_partition to check each partition range.)
Has OIDs: no
Options: orientation=row, compression=no

omm=# select * from pg_indexes where tablename='products'; schemaname | tablename | indexname | tablespace | indexdef ------------+-----------+-------------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------- public | products | products_sale_date_idx1 | | CREATE INDEX products_sale_date_idx1 ON products USING btree (sale_date) LOCAL(PARTITION p1_sale_date_idx TABLESPACE example, PARTITION p5_sale_date_idx, PARTITION p3_sale_da te_idx, PARTITION p4_sale_date_idx) TABLESPACE pg_default public | products | products_sale_date_idx2 | | CREATE INDEX products_sale_date_idx2 ON products USING btree (sale_date) LOCAL(PARTITION idx1_p1, PARTITION idx1_p2, PARTITION idx1_p3, PARTITION idx1_p4) TABLESPACE pg_defa ult public | products | products_sale_date_idx3 | | CREATE INDEX products_sale_date_idx3 ON products USING btree (product_id) TABLESPACE pg_default (3 rows)

omm=# select relname,parttype,reltablespace from pg_partition; relname | parttype | reltablespace ------------------+----------+--------------- products | r | 0 p1 | p | 0 p2 | p | 0 p3 | p | 0 p4 | p | 0 p3_sale_date_idx | x | 0 p4_sale_date_idx | x | 0 idx1_p2 | x | 0 idx1_p3 | x | 0 idx1_p4 | x | 0 p5_sale_date_idx | x | 0 p1_sale_date_idx | x | 16409 idx1_p1 | x | 0 (13 rows)

5.删除索引、表和表空间

drop index products_sale_date_idx1;
drop index products_sale_date_idx2;
drop index products_sale_date_idx3;
drop table products;
drop tablespace example;


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

评论