Re: psql's \d versus included-index-column feature

Alexander Korotkov <a.korotkov@postgrespro.ru>

From: Alexander Korotkov <a.korotkov@postgrespro.ru>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-07-18T23:11:11Z
Lists: pgsql-hackers
On Wed, Jul 18, 2018 at 11:14 PM David G. Johnston <
david.g.johnston@gmail.com> wrote:

> On Wed, Jul 18, 2018 at 12:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
>>
>> regression=# \d tbl_include_reg_idx
>> Index "public.tbl_include_reg_idx"
>>  Column |  Type   | Key | Definition
>> --------+---------+------------------
>>  c1     | integer | t   | c1
>>  c2     | integer | t   | c2
>>  c3     | integer | f   | c3
>>  c4     | box     | f   | c4
>> btree, for table "public.tbl_include_reg"
>>
>
> ​+1 for the additional column indicating whether the column is being
> treated as key data or supplemental included data.​
>

+1
And especially I don't think we should place word "INCLUDE" to the
definition column.

​-1 for printing a boolean t/f; would rather spell it out:
>

IMHO, t/f have advantage of brevity.  From my point of view, covering
indexes are not so evident feature.  So, users need to spend some time
reading documentation before realizing what they are and how to use them.
So, I don't expect that short designation of INCLUDE columns as "non-key"
(Key == false) columns could be discouraging here.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Commits

  1. Fix pg_get_indexdef()'s behavior for included index columns.

  2. Improve psql's \d command to show whether index columns are key columns.