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

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, osdba <mailtch(at)163(dot)com>, pgsql-docs(at)postgresql(dot)org, jkatz(at)postgresql(dot)org
Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Date: 2020-08-26 22:58:37
Message-ID: 20200826225837.GA3099@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2020-08-26 23:09:04 Re: 35.9.2. Base Types in C-Language Functions
Previous Message Bruce Momjian 2020-08-26 22:39:27 Re: Document "59.2. Built-in Operator Classes" have a clerical error?