Re: Document "59.2. Built-in Operator Classes" have a clerical error? - Mailing list pgsql-docs

From Alvaro Herrera
Subject Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Date
Msg-id 20200826225837.GA3099@alvherre.pgsql
Whole thread Raw
In response to Re: Document "59.2. Built-in Operator Classes" have a clerical error?  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Document "59.2. Built-in Operator Classes" have a clerical error?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-docs
On 2020-Aug-26, Bruce Momjian wrote:

> On Wed, Aug 26, 2020 at 05:58:01PM -0400, Alvaro Herrera wrote:
> > Well, there is a small problem here ... which is that I misled you with
> > \dAo ... because that one lists the operators for the opfamilies, not
> > for the opclasses.  And you can't use the opfamily name in CREATE INDEX:
> >
> > 55432 14devel 30811=# create index on t using brin (a integer_minmax_ops);
> > ERROR:  operator class "integer_minmax_ops" does not exist for access method "brin"
> >
> > You have to use the opclass name:
> >
> > 55432 14devel 30811=# create index on t using brin (a int4_minmax_ops);
> > CREATE INDEX
> >
> > Compare \dAf to \dAc.  The latter shows what opclasses you can use for
> > each datatype, while the former shows what types can be used with an
> > index using the opfamily that the opclass belongs into.
> >
> > As I understand it, the cross-type operators are "loose" in the opfamily
> > and they don't belong to any opclass.  So what we could do is list the
> > opclasses within each opfamily, and then list all the loose operators.
> > Something like (fixed width font):
>
> Stupid question, but do we think the average Postgres user can
> understand this issue.  I am having trouble myself.

The only reason I think it's worth pointing out, is that the opclass
name is something you can use in CREATE INDEX, while the opfamily name
cannot be used there.  The original tables can be used for that purpose,
but the patched tables cannot.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-docs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Next
From: Bruce Momjian
Date:
Subject: Re: 35.9.2. Base Types in C-Language Functions