Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, osdba <mailtch@163.com>, pgsql-docs@postgresql.org, jkatz@postgresql.org
Date: 2020-08-26T22:39:27Z
Lists: pgsql-docs
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. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EnterpriseDB https://enterprisedb.com The usefulness of a cup is in its emptiness, Bruce Lee
Commits
-
doc: Rework tables for built-in operator classes of index AMs
- 7a1cd5260aa2 14.0 landed