Re: psql \dh: List High-Level (Root) Tables and Indexes

From: Sadeq Dousti <msdousti(at)gmail(dot)com>
To:
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: psql \dh: List High-Level (Root) Tables and Indexes
Date: 2025-02-23 21:26:42
Message-ID: CADE6Lvgoe0pR7uytr-FzOioKow0sB29F=hRdAttRKhAi3Jo0Lw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tom,

Thanks a lot for looking into this!

> "High-level" is not terminology we use anywhere else
> We do use the terms "root partition" or "partition root".

I agree "high-level" is not standard, but "root partition" also entails
the table is actually partitioned. This is not necessarily the case.
The suggested command will show all non-partitioned tables, plus the
root partitions.

So, in the example I provided, t is a non-partitioned table, and z is
the root partition. The command shows them both:

postgres=# \dht
List of root tables
Schema | Name | Owner
--------+------+-------
public | t | sadeq
public | z | sadeq

The reason I called them high-level is that they provide a
high-level overview into the database table/index structure.

> Extend the existing \dP (display partitions)
I also thought about it at first, but that command is for displaying
partitions, while I want the opposite: Don't display partitions at all.
I tried to detail why I didn't use \dP or any existing \d commands
in the first email of the thread (section "Design Decision").

Best Regards,
Sadeq Dousti

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sadeq Dousti 2025-02-23 21:34:30 Re: psql \dh: List High-Level (Root) Tables and Indexes
Previous Message Alexander Korotkov 2025-02-23 21:15:35 Re: Removing unneeded self joins