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  <br...@momjian.us>        https://momjian.us
  EnterpriseDB                             https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee



Reply via email to