【Greenplum Tips】psql 分区表显示小窍门

psql 命令行工具是 Greenplum 最基本和最常用的命令行工具,该工具功能丰富。今天来分享一个 tips:分区表在 psql 中的显示方式与区别。

为什么会有这个需求?

主要是 Greenplum 表采用大量分区可以更好的进行数据裁剪,所以通常大表下面会挂很多的分区表。那么我们在查看表元数据的时候,就会苦恼于“有时候我并不想看这么多分区呀?”

几种不同的分区表展示方式

第一种:[\\d] 命令,展示分区表的表结构(只显示分区数量)

<code>postgres=# \\d t_partition_test
Table "public.t_partition_test"
Column | Type | Modifiers
------------------+------------------------+-----------------------------------
code | character varying(32) |
owner_code | character varying(32) |
Number of child tables: 102 (Use \\d+ to list them.)
Distributed randomly
Partition by: (code)/<code>

第二种:[\\d+] 命令,展示分区表的详细表结构(显示分区表名称及注释信息)

<code>postgres=# \\d+ t_partition_test
Table "public.t_partition_test"
Column | Type | Modifiers | Storage | Description

------------------+------------------------+-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------
--------------------------------------------
code | character varying(32) | | extended | 客户编码
owner_code | character varying(32) | | extended | 累积量属主标识
Child tables: t_partition_test_1_prt_pc000,
t_partition_test s_1_prt_pc001,


t_partition_test_1_prt_pc002,
t_partition_test_1_prt_pc100,
t_partition_test_1_prt_pc200,
......
....../<code>

第三种:[\\dt] or [\\dt+] 命令,只展示表的基本信息(不显示字段类型及分区信息)

<code>postgres=# \\dt t_partition_test
List of relations
Schema | Name | Type | Owner | Storage
--------+---------------------+-------+-----------+---------
public | t_partition_test | table | gpadmin1 | heap
(1 row)

postgres=# \\dt+ t_partition_test
List of relations
Schema | Name | Type | Owner | Storage | Description
--------+---------------------+-------+-----------+---------+-------------
public | t_partition_test | table | gpadmin1 | heap |
(1 row)/<code>



阿福:

社区活跃志愿者,山东辉鸿泛在电子科技技术总监。丰富的数据库开发运维经验。主导并完成了多个基于 Greenplum 数据平台的落地。