Обсуждение: DOCS - "\d mytable" also shows any publications that publish mytable

Поиск
Список
Период
Сортировка

DOCS - "\d mytable" also shows any publications that publish mytable

От
Peter Smith
Дата:
I was looking at "\d" documentation yesterday.

The psql table describe (e.g. "\d mytable") will display a list of any
"Publications:" that are publishing the specified table. Somehow, this
ability had escaped being mentioned in the psql reference
documentation.

Here is a trivial patch to fix that omission.

======
Kind Regards,
Peter Smith.
Fujitsu Australia

Вложения

Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Peter Smith
Дата:
See here [1]

======
[1] https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-D

On Tue, Dec 23, 2025 at 8:07 AM Peter Smith <smithpb2250@gmail.com> wrote:
>
> I was looking at "\d" documentation yesterday.
>
> The psql table describe (e.g. "\d mytable") will display a list of any
> "Publications:" that are publishing the specified table. Somehow, this
> ability had escaped being mentioned in the psql reference
> documentation.
>
> Here is a trivial patch to fix that omission.
>
> ======
> Kind Regards,
> Peter Smith.
> Fujitsu Australia



Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Andreas Karlsson
Дата:
On 12/22/25 10:07 PM, Peter Smith wrote:
> Here is a trivial patch to fix that omission.

The patch looks good to me as this seems like useful information and I 
do not think it needs to be added in more places since e.g. \d+ does not 
have its own entry.

Andreas




Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Chao Li
Дата:

> On Dec 23, 2025, at 05:07, Peter Smith <smithpb2250@gmail.com> wrote:
>
> I was looking at "\d" documentation yesterday.
>
> The psql table describe (e.g. "\d mytable") will display a list of any
> "Publications:" that are publishing the specified table. Somehow, this
> ability had escaped being mentioned in the psql reference
> documentation.
>
> Here is a trivial patch to fix that omission.
>
> ======
> Kind Regards,
> Peter Smith.
> Fujitsu Australia
> <v1-0001-DOCS-psql-describe-table-can-list-publications.patch>

Not only publication, “\d table_name” also shows partition information:

```
evantest=# \d t_part;
         Partitioned table "public.t_part"
 Column |  Type   | Collation | Nullable | Default
--------+---------+-----------+----------+---------
 id     | integer |           |          |
 val    | integer |           |          |
Partition key: RANGE (id)
Publications:
    "mypub"
Number of partitions: 3 (Use \d+ to list them.)

evantest=# \d t_part_p1;
             Table "public.t_part_p1"
 Column |  Type   | Collation | Nullable | Default
--------+---------+-----------+----------+---------
 id     | integer |           |          |
 val    | integer |           |          |
Partition of: t_part FOR VALUES FROM (0) TO (100)
```

As you updating this section, you may add “partition info” as well.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Peter Smith
Дата:
On Tue, Dec 23, 2025 at 7:28 PM Chao Li <li.evan.chao@gmail.com> wrote:
>
>
>
> > On Dec 23, 2025, at 05:07, Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > I was looking at "\d" documentation yesterday.
> >
> > The psql table describe (e.g. "\d mytable") will display a list of any
> > "Publications:" that are publishing the specified table. Somehow, this
> > ability had escaped being mentioned in the psql reference
> > documentation.
> >
> > Here is a trivial patch to fix that omission.
> >
> > ======
> > Kind Regards,
> > Peter Smith.
> > Fujitsu Australia
> > <v1-0001-DOCS-psql-describe-table-can-list-publications.patch>
>
> Not only publication, “\d table_name” also shows partition information:
>
> ```
> evantest=# \d t_part;
>          Partitioned table "public.t_part"
>  Column |  Type   | Collation | Nullable | Default
> --------+---------+-----------+----------+---------
>  id     | integer |           |          |
>  val    | integer |           |          |
> Partition key: RANGE (id)
> Publications:
>     "mypub"
> Number of partitions: 3 (Use \d+ to list them.)
>
> evantest=# \d t_part_p1;
>              Table "public.t_part_p1"
>  Column |  Type   | Collation | Nullable | Default
> --------+---------+-----------+----------+---------
>  id     | integer |           |          |
>  val    | integer |           |          |
> Partition of: t_part FOR VALUES FROM (0) TO (100)
> ```
>
> As you updating this section, you may add “partition info” as well.
>

OK,  I've added some text about partitions. See patch v2.

~~~

TBH, the \d and \d+ partition output looked strange to me.

test_pub=# \d+ tp
                                     Partitioned table "public.tp"
 Column |  Type   | Collation | Nullable | Default | Storage |
Compression | Stats target | Description
--------+---------+-----------+----------+---------+---------+-------------+--------------+-------------
 a      | integer |           |          |         | plain   |
    |              |
Partition key: RANGE (a)
Publications:
    "pub1"
    "pub3"
Partitions: tp1 FOR VALUES FROM (1) TO (10),
            tp2 FOR VALUES FROM (10) TO (20)

For example:
a) Why isn't the "Partition key:" and "Partitions:" info kept together?
b) Why does the  "Partitions:" list indentation look different?

Anyway, those are questions for another thread and another year.

======
Kind Regards,
Peter Smith.
Fujitsu Australia

Вложения

Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Chao Li
Дата:

> On Dec 24, 2025, at 06:20, Peter Smith <smithpb2250@gmail.com> wrote:
>
> On Tue, Dec 23, 2025 at 7:28 PM Chao Li <li.evan.chao@gmail.com> wrote:
>>
>>
>>
>>> On Dec 23, 2025, at 05:07, Peter Smith <smithpb2250@gmail.com> wrote:
>>>
>>> I was looking at "\d" documentation yesterday.
>>>
>>> The psql table describe (e.g. "\d mytable") will display a list of any
>>> "Publications:" that are publishing the specified table. Somehow, this
>>> ability had escaped being mentioned in the psql reference
>>> documentation.
>>>
>>> Here is a trivial patch to fix that omission.
>>>
>>> ======
>>> Kind Regards,
>>> Peter Smith.
>>> Fujitsu Australia
>>> <v1-0001-DOCS-psql-describe-table-can-list-publications.patch>
>>
>> Not only publication, “\d table_name” also shows partition information:
>>
>> ```
>> evantest=# \d t_part;
>>         Partitioned table "public.t_part"
>> Column |  Type   | Collation | Nullable | Default
>> --------+---------+-----------+----------+---------
>> id     | integer |           |          |
>> val    | integer |           |          |
>> Partition key: RANGE (id)
>> Publications:
>>    "mypub"
>> Number of partitions: 3 (Use \d+ to list them.)
>>
>> evantest=# \d t_part_p1;
>>             Table "public.t_part_p1"
>> Column |  Type   | Collation | Nullable | Default
>> --------+---------+-----------+----------+---------
>> id     | integer |           |          |
>> val    | integer |           |          |
>> Partition of: t_part FOR VALUES FROM (0) TO (100)
>> ```
>>
>> As you updating this section, you may add “partition info” as well.
>>
>
> OK,  I've added some text about partitions. See patch v2.
>
> ~~~
>
> TBH, the \d and \d+ partition output looked strange to me.
>
> test_pub=# \d+ tp
>                                     Partitioned table "public.tp"
> Column |  Type   | Collation | Nullable | Default | Storage |
> Compression | Stats target | Description
> --------+---------+-----------+----------+---------+---------+-------------+--------------+-------------
> a      | integer |           |          |         | plain   |
>    |              |
> Partition key: RANGE (a)
> Publications:
>    "pub1"
>    "pub3"
> Partitions: tp1 FOR VALUES FROM (1) TO (10),
>            tp2 FOR VALUES FROM (10) TO (20)
>
> For example:
> a) Why isn't the "Partition key:" and "Partitions:" info kept together?

I guess it shows the plus stuff after the regular stuff.

> b) Why does the  "Partitions:" list indentation look different?

Yeah, the list indentation should be identical.

>
> Anyway, those are questions for another thread and another year.
>
> ======
> Kind Regards,
> Peter Smith.
> Fujitsu Australia
> <v2-0001-DOCS-psql-describe-table-can-list-publications-an.patch>

V2 looks good to me.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







Re: DOCS - "\d mytable" also shows any publications that publish mytable

От
Fujii Masao
Дата:
On Wed, Dec 24, 2025 at 8:41 AM Chao Li <li.evan.chao@gmail.com> wrote:
>
>
>
> > On Dec 24, 2025, at 06:20, Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > On Tue, Dec 23, 2025 at 7:28 PM Chao Li <li.evan.chao@gmail.com> wrote:
> >>
> >>
> >>
> >>> On Dec 23, 2025, at 05:07, Peter Smith <smithpb2250@gmail.com> wrote:
> >>>
> >>> I was looking at "\d" documentation yesterday.
> >>>
> >>> The psql table describe (e.g. "\d mytable") will display a list of any
> >>> "Publications:" that are publishing the specified table. Somehow, this
> >>> ability had escaped being mentioned in the psql reference
> >>> documentation.
> >>>
> >>> Here is a trivial patch to fix that omission.
> >>>
> >>> ======
> >>> Kind Regards,
> >>> Peter Smith.
> >>> Fujitsu Australia
> >>> <v1-0001-DOCS-psql-describe-table-can-list-publications.patch>
> >>
> >> Not only publication, “\d table_name” also shows partition information:
> >>
> >> ```
> >> evantest=# \d t_part;
> >>         Partitioned table "public.t_part"
> >> Column |  Type   | Collation | Nullable | Default
> >> --------+---------+-----------+----------+---------
> >> id     | integer |           |          |
> >> val    | integer |           |          |
> >> Partition key: RANGE (id)
> >> Publications:
> >>    "mypub"
> >> Number of partitions: 3 (Use \d+ to list them.)
> >>
> >> evantest=# \d t_part_p1;
> >>             Table "public.t_part_p1"
> >> Column |  Type   | Collation | Nullable | Default
> >> --------+---------+-----------+----------+---------
> >> id     | integer |           |          |
> >> val    | integer |           |          |
> >> Partition of: t_part FOR VALUES FROM (0) TO (100)
> >> ```
> >>
> >> As you updating this section, you may add “partition info” as well.
> >>
> >
> > OK,  I've added some text about partitions. See patch v2.
> >
> > ~~~
> >
> > TBH, the \d and \d+ partition output looked strange to me.
> >
> > test_pub=# \d+ tp
> >                                     Partitioned table "public.tp"
> > Column |  Type   | Collation | Nullable | Default | Storage |
> > Compression | Stats target | Description
> > --------+---------+-----------+----------+---------+---------+-------------+--------------+-------------
> > a      | integer |           |          |         | plain   |
> >    |              |
> > Partition key: RANGE (a)
> > Publications:
> >    "pub1"
> >    "pub3"
> > Partitions: tp1 FOR VALUES FROM (1) TO (10),
> >            tp2 FOR VALUES FROM (10) TO (20)
> >
> > For example:
> > a) Why isn't the "Partition key:" and "Partitions:" info kept together?
>
> I guess it shows the plus stuff after the regular stuff.
>
> > b) Why does the  "Partitions:" list indentation look different?
>
> Yeah, the list indentation should be identical.
>
> >
> > Anyway, those are questions for another thread and another year.
> >
> > ======
> > Kind Regards,
> > Peter Smith.
> > Fujitsu Australia
> > <v2-0001-DOCS-psql-describe-table-can-list-publications-an.patch>
>
> V2 looks good to me.

\d table also seems to display tablespaces, policies, and other objects.
Should the documentation try to list all possible objects that can be shown?

If maintaining a complete list is difficult, would a more general description
like "Associated objects, including indexes, constraints, rules, publications,
and so on, are also shown." be sufficient instead of enumerating everything?

Regards,

--
Fujii Masao