01,创建分区表

[PARTITION BY partition_type (column)
[SUBPARTITION BY partition_type (column)]
[SUBPARTITION TEMPLATE (template_spec)]
[...]
(partition_spec)
|[SUBPARTITION BY partition_type(column)]
[...]
(partition_spec)
[(subpartition_spec
[(...)]
)]
]
and partition_element is: DEFAULT PARTITION name
| [PARTITION name] VALUES (list_value[,...])
| [PARTITION name]
START ([datatype] 'start_value') [INCLUSIVE|EXCLUSIVE]
[ END ([datatype] 'end_value') [INCLUSIVE|EXCLUSIVE]
[ EVERY ([datatype] [number|INTERVAL] 'interval_value')]
| [PARTITION name]
END ([DATATYPE] 'end_value') [INCLUSIVE|EXCLUSIVE]
[ EVERY ([datatype] [number|INTERVAL] 'interval_value')]
[ with (partition_storage_parameter=value [,...])]
[ TABLESPACE tablespace]

Tips
通过实验得到:向主表插入数据时,数据会被自动存放至相应的分区表。
也可以直接向分区子表插入符合条件的数据,
当向分区子表插入不符合条件的额数据时,会提示:

[Err] ERROR: Trying to insert row into wrong partition (seg1 hadoop3:40000 pid=6679)
DETAIL: Expected partition: test_partition_range_1_prt_p20111231, provided partition: test_partition_range_1_prt_p20111230

02,按时间分区

create table public.test_partition_range(
id numeric,
name character varying(32),
dw_end_date date,
) distributed by(id)
PARTITION BY range(dw_end_date)
(
PARTITION p20111230 START ('2011-12-30'::date) END ('2011-12-31'::date),
--...
);

03,使用Every分区

create table test.test_partition_every(
id numeric,
name character varying(32),
dw_end_date date
) distributed by(id)
partition by range(dw_end_Date)
(
partition p201112 start('2011-12-1'::date) end ('2011-12-31'::date)
every ('1 days'::interval)
);

04,使用list分区

create table test.test_partition_list(
member_id numeric,
city character varying(32)
)distributed by (member_id)
partition by list(city)
(
partition guangzhou values('guangzhou'),
partition hangzhou values('hangzhou'),
default partition other_city
);

05,修改分区表

ALTER DEFAULT PARTITION
DROP DEFAULT PARTITION [IF EXISTS]
DROP PARTITION [IF EXISTS] {
partition_name
| FOR (RANK(number))
| FOR (value)
}
[CASCADE]
TRUNCATE DEFAULT PARTITION
TRUNCATE PARTITION {
partition_name
| FOR (RANK(number))
| FOR (value)
}
RENAME DEFAULT PARTITION TO new_partition_name
RENAME PARTITION {
partition_name
| FOR (RANK(number))
| FOR (value)
}
TO new_partition_name
ADD DEFAULT PARTITION NAME [(subpartition_spec)]
ADD PARTITION [name] partition_element
[(subpartition_spec)]
EXCHANGE PARTITION {
partition_name
| FOR (RANK(number))
| FOR (value)
} WITH TABLE TABLE_NAME
[WITH|WITHOUT VALIDATION]
EXCHANGE EFAULT PARTITION WITH TABLE TABLE_NAME
[WITH|WITHOUT VALIDATION]
SET SUBPARTITION TEMPLATE (subpartition_spec)
SPLIT DEFAULT PARTITION {
AT (list_value)
|START([datatype] range_value) [INCLUSIVE|EXCLUSIVE]
END ([datatype]) range_value) [INCLUSIVE|EXCLUSIVE]
}
[INTO (PARTITION new_partition_name,
PARTITION default_partition_name)]
SPLIT DPARTITION {
partition_name
| FOR (RANK(number))
| FOR (value)
} AT(value)
[INTO (PARTITION partition_name, PARTITION partition_name]

  06,新增分区

alter table test.test_partition_every add partition p20120105_6
start ('2012-01-05'::date) END ('2012-01-07'::date);

  07,drop/truncate分区

alter table test.test_partition_every drop partition p20120105_6;

alter table test.test_partition_every truncate partition p20120105_6;

  08,拆分分区

alter table test.test_partition_every split partition p20120105_6
at(('2012-01-06'::date)) into (partition p20120105,partition p20120106);

  09,交换分区

alter table test.test_partition_every exchange partition p20120102 with table test.test_on_partition;

GreenPlum 大数据平台--分区表(二)的更多相关文章

  1. GreenPlum 大数据平台--介绍

    一,GreenPlum 01,介绍: Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,主机.操作系统.内存.存储都是自我控制的,不存在共享. 官 ...

  2. GreenPlum 大数据平台--外部表(三)

    一,外部表介绍 Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表 所谓外部表,就是在数据库中只有表定义.没有数据,数据 ...

  3. GreenPlum 大数据平台--监控

    数据库状态监控活动 活动 过程 纠正措施 列出当前状态为down的Segment.如果有任何行被返回,就会生成一个警告或者告警. 推荐频率:每5到10分钟 重要度: IMPORTANT 在postgr ...

  4. GreenPlum 大数据平台--运维(二)

    .如何获取查询运行时和已用时间. 例子: Select tstart, tfinish, (tfinish-tstart) as total_time, trim(query_text) from q ...

  5. GreenPlum 大数据平台--segment 失效问题恢复《二》(全部segment宕机情况下)

    01,情况描述 主Segment和它的镜像都宕掉.导致了greenplum数据库不可用状态 02,重启greenplum数据库 gpstop -r 03,恢复 gprecoverseg 04,状态检查 ...

  6. GreenPlum 大数据平台--基础使用(二)

    连接参数 连接参数 描述 环境变量 应用名称 连接到数据库的应用名称,保存在application_name连接参数中.默认值是psql. $PGAPPNAME 数据库名 用户想要连接的数据库名称.对 ...

  7. GreenPlum 大数据平台--非并行备份(六)

    一,非并行备份(pg_dump) 1) GP依然支持常规的PostgreSQL备份命令pg_dump和pg_dumpall 2) 备份将在Master主机上创建一个包含所有Segment数据的大的备份 ...

  8. GreenPlum 大数据平台--运维(三)

    一,操作命令 01,启动gpstart 参数说明 COMMAND NAME: gpstart Starts a Greenplum Database system. ***************** ...

  9. GreenPlum 大数据平台--并行备份(四)

    01,并行备份(gp_dump) 1) GP同时备份Master和所有活动的Segment实例 2) 备份消耗的时间与系统中实例的数量没有关系 3) 在Master主机上备份所有DDL文件和GP相关的 ...

随机推荐

  1. Sharepoint 文档知识管理系统--Word在试图打开文件时遇到错误

    在系统开发中,遇到问题:SharePoint 2010与Office 2010安装在一台服务器上,当用Office打开SharePoint文档库中的文档时,遇到“Word在试图打开文件时遇到错误,请尝 ...

  2. 【大数据之数据仓库】HAWQ versus GreenPlum

    谈到GreenPlum,肯定会有同事说HAWQ!是的,在本系列第一篇选型流水记里,也有提到.因为对HAWQ接触有限,没有深入具体了解,所以很多信息都是来自于博文,人云亦云,我把看过的资料简要整理,希望 ...

  3. jquery选取自定义属性为已知值的元素

    $("div[myattr='value']") //选取自定义myattr属性为value的div

  4. 强制所有网页链接在同一页面打开或者在TabControl中弹出新窗口

    IEwebbrowser中老生常谈的话题. 一般的解决都是通过 // webBrowser.Navigating += WebBrowser_Navigating; 注册转跳前事件 private v ...

  5. IDEA开发javaEE项目问题总结

    删了删了,不瞎折腾了,用Maven嘛事没有 注意在idea中,add framework后还需要在maven中添加相关依赖

  6. Atcoder Beginner Contest 121D(异或公式)

    #include<bits/stdc++.h>using namespace std;int main(){    long long a,b;    cin>>a>&g ...

  7. 738. Monotone Increasing Digits

    Given a non-negative integer N, find the largest number that is less than or equal to N with monoton ...

  8. CF914E Palindromes in a Tree

    $ \color{#0066ff}{ 题目描述 }$ 给你一颗 n 个顶点的树(连通无环图).顶点从 1 到 n 编号,并且每个顶点对应一个在'a'到't'的字母. 树上的一条路径是回文是指至少有一个 ...

  9. VS2019和net core 3.0(整理不全,但是孰能生巧)

    更新 net core 3.0 只能配合vs2019 net core 3.0 新特性 详情 IntelliCode 智能插件 live share ctrl+. 快速重构 调试中的数据断点(很棒) ...

  10. jQuery EasyUI Datagrid组件默认视图分析

    在Datagrid基础DOM结构的一文中,我对Datagrid组件的骨架做了很详细的描述.有了骨架还并不完整,还得有血有肉有衣服穿才行.强大的Datagrid组件允许我们自己定义如何在基础骨架上长出健 ...