Ashutosh,
* Ashutosh Bapat (ashutosh.bapat@enterprisedb.com) wrote:
> On Mon, Mar 6, 2017 at 7:54 PM, Amos Bird <amosbird@gmail.com> wrote:
> > Well, the prefix is used to differentiate other \d commands, like
> > this,
> >
> > amos=# \ditv
> > List of relations
> > Schema | Name | Type | Owner | Table
> > --------+--------------------+--------------+-------+---------
> > public | i | table | amos |
> > public | ii | index: gist | amos | i
> > public | j | table | amos |
> > public | jj | index: gin | amos | i
> > public | jp | index: btree | amos | i
> > public | js | index: brin | amos | i
> > public | numbers | table | amos |
> > public | numbers_mod2 | index: gin | amos | numbers
> > public | numbers_mod2_btree | index: btree | amos | numbers
> > public | ts | table | amos |
> > (10 rows)
>
> The header for this table is "list of relations", so type gets
> associated with relations indicated type of relation. btree: gin as a
> type of relation doesn't sound really great.
The type is 'index', we're just adding a sub-type here to clarify the
kind of index it is.
> Instead we might want to
> add another column "access method" and specify the access method used
> for that relation. But then only indexes seem to have access methods
> per pg_class.h.
Right, I don't think having an extra column which is going to be NULL a
large amount of the time is good. The approach taken by Amos seems like
a good one to me, to have the type still be 'index' but with a sub-type
indicating the access method.
Thanks!
Stephen