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

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-07-18T20:14:30Z
Lists: pgsql-hackers
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 for printing a boolean t/f; would rather spell it out:

CASE WHEN "Key" THEN 'Key' ELSE 'Included' END AS "Data"

We're not hurting for horizontal space here and in any case I'd rather save
others the eye strain of having to distinguish between lowercase "f" and
"t".

David J.
​

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.