方法一

查看表的分区键

select d.nspname||'.'||a.relname as table_name,string_agg(b.attname,',') as column_name
from
pg_catalog.pg_class a
inner join
pg_catalog.pg_attribute b
on a.oid=b.attrelid
inner join
pg_catalog.gp_distribution_policy c
on a.oid=c.localoid
inner join pg_catalog.pg_namespace d
on a.relnamespace=d.oid
where a.relkind='r' and b.attnum=any(c.attrnums)
and a.relname not like '%prt%'
group by table_name
order by table_name desc;

方法二

创建一张表,在没有primary key 或者 unique key 的情况下,GreenPlum默认会把第一个column作为分布键 zwcdb=# create table tab01(id int,name varchar(20));NOTICE: Table doesnt have DISTRIBUTED BY clause -- Using column named id as the Greenplum Da

创建一张表,在没有primary key 或者 unique key 的情况下,GreenPlum默认会把第一个column作为分布键

1

2

3

4

5

6

7

8

9

10

11

12

13

zwcdb=# create table tab01(id int,name varchar(20));

NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'id' as the Greenplum Database data distribution key for this table.

HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.

CREATE TABLE

zwcdb=#

zwcdb=# \d+ tab01

                        Table "public.tab01"

 Column |         Type          | Modifiers | Storage  | Description

--------+-----------------------+-----------+----------+-------------

 id     | integer               |           | plain    |

 name   | character varying(20) |           | extended |

Has OIDs: no

Distributed by: (id)

使用以下语句修改分布键

1

2

3

4

5

6

7

8

9

10

zwcdb=# alter table tab01 set distributed by(name);

ALTER TABLE

zwcdb=# \d+ tab01

                        Table "public.tab01"

 Column |         Type          | Modifiers | Storage  | Description

--------+-----------------------+-----------+----------+-------------

 id     | integer               |           | plain    |

 name   | character varying(20) |           | extended |

Has OIDs: no

Distributed by: (name)

在不确定哪个column为分布键的情况下可以使用randomly策略

1

2

3

4

5

6

7

8

9

10

11

12

zwcdb=# alter table tab01 set distributed randomly;

ALTER TABLE

zwcdb=# alter table tab01 set with(reorganize=true);

ALTER TABLE

zwcdb=# \d+ tab01

                        Table "public.tab01"

 Column |         Type          | Modifiers | Storage  | Description

--------+-----------------------+-----------+----------+-------------

 id     | integer               |           | plain    |

 name   | character varying(20) |           | extended |

Has OIDs: no

Distributed randomly

Greenplum 查看表的分区键与分区类型的更多相关文章

  1. 如何通过phoenix中查看表的主键信息

    需求描述: 今天一个开发的同事让帮忙查看下表的主键列,在此记录下. 操作过程: 1.通过!primarykeys命令查看表的主键 !primarykeys SYNC_BUSINESS_INFO_BYD ...

  2. GreenPlum查看表和数据库大小

    表大小 zwcdb=# select pg_size_pretty(pg_relation_size('gp_test')); pg_size_pretty ---------------- 1761 ...

  3. MYSQL之水平分区----MySQL partition分区I(5.1)

    一.        分区的概念 二.        为什么使用分区?(优点) 三.        分区类型 四.        子分区 五.        对分区进行修改(增加.删除.分解.合并) 六 ...

  4. hive SQL 静态分区和 动态分区

    Hive 分区介绍: hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition) hive中创建分区表没 ...

  5. mysql 表分区 查看表分区 修改表分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...

  6. MySQL 横向表分区之RANGE分区小结

    MySQL 横向表分区之RANGE分区小结 by:授客 QQ:1033553122 目录 简介 1 RANGE分区 1 创建分区表 1 查看表分区 2 新增表分区 2 新增数据 3 分区表查询 3 删 ...

  7. SQL Server表分区(水平分区及垂直分区)

    什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...

  8. Oracle 表结构、索引以及分区信息查询

    Oracle 表结构.索引以及分区信息查询 /* 获取表:*/ select table_name from user_tables; --当前用户的表 select table_name from ...

  9. 高性能可扩展mysql 笔记(六) SQL执行计划及分页查询优化、分区键统计

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 常见业务处理 一.使用数据库处理常见业务: 案例: 如何对评论进行分页展示 使用 EXPLAIN 获得s ...

随机推荐

  1. golang的for循环基本语法

  2. xorm表结构操作实例

    获取数据库信息 package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "git ...

  3. 编译内核提示mkimage command not found – U-Boot images will not be built

     转載與:http://www.mr-wu.cn/u-boot-tools-binary-package-in-ubuntu/ ubuntu 编译linux kernel时提示: “mkimage” ...

  4. springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到 ...

  5. hoj 棋盘问题 状压入个门

    大概题意是:有一个n*m的棋盘,在这个棋盘里边放k个旗子,要求每一行每一列都不能存在一对旗子相邻,问最后总共的方案数. 我们先来考虑个简单的,假如说只有一行,要求在这一行里边填充k个旗子,要求任意两个 ...

  6. 代码审计:covercms 1.6

    小菜只能找找没人用的cms练练手了 cnvd上有个 CoverCMS V1.16存在多个漏洞 漏洞描述 :CoverCMS V1.16存在重装.信息泄露.暴力破解.存储型跨站脚本和反射型跨站脚本漏洞. ...

  7. 利用WkHtmlToPdf,把H5 转成PDF

    工具下载地址: 链接:https://pan.baidu.com/s/1TSq2WWZcvPwuIfPRHST-FA 提取码:wkx8 原理: 通过IIS访问页面,利用WkHtmlToPdf.exe, ...

  8. Nginx快速自查手册

    本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. demos 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果. 概述 什么 ...

  9. 使用Django时需要注意的八个要点

    1.在settings.py中使用os. path.dirname() 常用代码如下: # settings.py import os PROJECT_DIR = os.path.dirname(__ ...

  10. 前端之:传统的DOM是如何渲染的?

    a.纯后端渲染:页面发送请求,后端服务器中将数据拼成完整DOM树,并转换成一个字节流作为HTTP Response的body返回给浏览器.优点在于 返回的HTTP Response是包含着全部页面内容 ...