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 数据平台的落地。