The core PostgreSQL distribution includes the BRIN operator classes shown in Table 68.1.
The minmax operator classes store the minimum and the maximum values appearing in the indexed column within the range. The inclusion operator classes store a value which includes the values in the indexed column within the range. The bloom operator classes build a Bloom filter for all values in the range. The minmax-multi operator classes store multiple minimum and maximum values, representing values appearing in the indexed column within the range.
Table 68.1. Built-in BRIN Operator Classes
Name |
Indexable Operators |
bit_minmax_ops
|
= (bit,bit)
|
|
< (bit,bit)
|
|
> (bit,bit)
|
|
<= (bit,bit)
|
|
>= (bit,bit)
|
box_inclusion_ops
|
@> (box,point)
|
|
<< (box,box)
|
|
&< (box,box)
|
|
&> (box,box)
|
|
>> (box,box)
|
|
<@ (box,box)
|
|
@> (box,box)
|
|
~= (box,box)
|
|
&& (box,box)
|
|
`+<< |
(box,box)+` |
|
`+&< |
(box,box)+` |
|
`+ |
&> (box,box)+` |
|
`+ |
>> (box,box)+` |
bpchar_bloom_ops
|
= (character,character)
|
bpchar_minmax_ops
|
= (character,character)
|
|
< (character,character)
|
|
<= (character,character)
|
|
> (character,character)
|
|
>= (character,character)
|
bytea_bloom_ops
|
= (bytea,bytea)
|
bytea_minmax_ops
|
= (bytea,bytea)
|
|
< (bytea,bytea)
|
|
<= (bytea,bytea)
|
|
> (bytea,bytea)
|
|
>= (bytea,bytea)
|
char_bloom_ops
|
= ("char","char")
|
char_minmax_ops
|
= ("char","char")
|
|
< ("char","char")
|
|
<= ("char","char")
|
|
> ("char","char")
|
|
>= ("char","char")
|
date_bloom_ops
|
= (date,date)
|
date_minmax_ops
|
= (date,date)
|
|
< (date,date)
|
|
<= (date,date)
|
|
> (date,date)
|
|
>= (date,date)
|
date_minmax_multi_ops
|
= (date,date)
|
|
< (date,date)
|
|
<= (date,date)
|
|
> (date,date)
|
|
>= (date,date)
|
float4_bloom_ops
|
= (float4,float4)
|
float4_minmax_ops
|
= (float4,float4)
|
|
< (float4,float4)
|
|
> (float4,float4)
|
|
<= (float4,float4)
|
|
>= (float4,float4)
|
float4_minmax_multi_ops
|
= (float4,float4)
|
|
< (float4,float4)
|
|
> (float4,float4)
|
|
<= (float4,float4)
|
|
>= (float4,float4)
|
float8_bloom_ops
|
= (float8,float8)
|
float8_minmax_ops
|
= (float8,float8)
|
|
< (float8,float8)
|
|
<= (float8,float8)
|
|
> (float8,float8)
|
|
>= (float8,float8)
|
float8_minmax_multi_ops
|
= (float8,float8)
|
|
< (float8,float8)
|
|
<= (float8,float8)
|
|
> (float8,float8)
|
|
>= (float8,float8)
|
inet_inclusion_ops
|
<< (inet,inet)
|
|
<<= (inet,inet)
|
|
>> (inet,inet)
|
|
>>= (inet,inet)
|
|
= (inet,inet)
|
|
&& (inet,inet)
|
inet_bloom_ops
|
= (inet,inet)
|
inet_minmax_ops
|
= (inet,inet)
|
|
< (inet,inet)
|
|
<= (inet,inet)
|
|
> (inet,inet)
|
|
>= (inet,inet)
|
inet_minmax_multi_ops
|
= (inet,inet)
|
|
< (inet,inet)
|
|
<= (inet,inet)
|
|
> (inet,inet)
|
|
>= (inet,inet)
|
int2_bloom_ops
|
= (int2,int2)
|
int2_minmax_ops
|
= (int2,int2)
|
|
< (int2,int2)
|
|
> (int2,int2)
|
|
<= (int2,int2)
|
|
>= (int2,int2)
|
int2_minmax_multi_ops
|
= (int2,int2)
|
|
< (int2,int2)
|
|
> (int2,int2)
|
|
<= (int2,int2)
|
|
>= (int2,int2)
|
int4_bloom_ops
|
= (int4,int4)
|
int4_minmax_ops
|
= (int4,int4)
|
|
< (int4,int4)
|
|
> (int4,int4)
|
|
<= (int4,int4)
|
|
>= (int4,int4)
|
int4_minmax_multi_ops
|
= (int4,int4)
|
|
< (int4,int4)
|
|
> (int4,int4)
|
|
<= (int4,int4)
|
|
>= (int4,int4)
|
int8_bloom_ops
|
= (bigint,bigint)
|
int8_minmax_ops
|
= (bigint,bigint)
|
|
< (bigint,bigint)
|
|
> (bigint,bigint)
|
|
<= (bigint,bigint)
|
|
>= (bigint,bigint)
|
int8_minmax_multi_ops
|
= (bigint,bigint)
|
|
< (bigint,bigint)
|
|
> (bigint,bigint)
|
|
<= (bigint,bigint)
|
|
>= (bigint,bigint)
|
interval_bloom_ops
|
= (interval,interval)
|
interval_minmax_ops
|
= (interval,interval)
|
|
< (interval,interval)
|
|
<= (interval,interval)
|
|
> (interval,interval)
|
|
>= (interval,interval)
|
interval_minmax_multi_ops
|
= (interval,interval)
|
|
< (interval,interval)
|
|
<= (interval,interval)
|
|
> (interval,interval)
|
|
>= (interval,interval)
|
macaddr_bloom_ops
|
= (macaddr,macaddr)
|
macaddr_minmax_ops
|
= (macaddr,macaddr)
|
|
< (macaddr,macaddr)
|
|
<= (macaddr,macaddr)
|
|
> (macaddr,macaddr)
|
|
>= (macaddr,macaddr)
|
macaddr_minmax_multi_ops
|
= (macaddr,macaddr)
|
|
< (macaddr,macaddr)
|
|
<= (macaddr,macaddr)
|
|
> (macaddr,macaddr)
|
|
>= (macaddr,macaddr)
|
macaddr8_bloom_ops
|
= (macaddr8,macaddr8)
|
macaddr8_minmax_ops
|
= (macaddr8,macaddr8)
|
|
< (macaddr8,macaddr8)
|
|
<= (macaddr8,macaddr8)
|
|
> (macaddr8,macaddr8)
|
|
>= (macaddr8,macaddr8)
|
macaddr8_minmax_multi_ops
|
= (macaddr8,macaddr8)
|
|
< (macaddr8,macaddr8)
|
|
<= (macaddr8,macaddr8)
|
|
> (macaddr8,macaddr8)
|
|
>= (macaddr8,macaddr8)
|
name_bloom_ops
|
= (name,name)
|
name_minmax_ops
|
= (name,name)
|
|
< (name,name)
|
|
<= (name,name)
|
|
> (name,name)
|
|
>= (name,name)
|
numeric_bloom_ops
|
= (numeric,numeric)
|
numeric_minmax_ops
|
= (numeric,numeric)
|
|
< (numeric,numeric)
|
|
<= (numeric,numeric)
|
|
> (numeric,numeric)
|
|
>= (numeric,numeric)
|
numeric_minmax_multi_ops
|
= (numeric,numeric)
|
|
< (numeric,numeric)
|
|
<= (numeric,numeric)
|
|
> (numeric,numeric)
|
|
>= (numeric,numeric)
|
oid_bloom_ops
|
= (oid,oid)
|
oid_minmax_ops
|
= (oid,oid)
|
|
< (oid,oid)
|
|
> (oid,oid)
|
|
<= (oid,oid)
|
|
>= (oid,oid)
|
oid_minmax_multi_ops
|
= (oid,oid)
|
|
< (oid,oid)
|
|
> (oid,oid)
|
|
<= (oid,oid)
|
|
>= (oid,oid)
|
pg_lsn_bloom_ops
|
= (pg_lsn,pg_lsn)
|
pg_lsn_minmax_ops
|
= (pg_lsn,pg_lsn)
|
|
< (pg_lsn,pg_lsn)
|
|
> (pg_lsn,pg_lsn)
|
|
<= (pg_lsn,pg_lsn)
|
|
>= (pg_lsn,pg_lsn)
|
pg_lsn_minmax_multi_ops
|
= (pg_lsn,pg_lsn)
|
|
< (pg_lsn,pg_lsn)
|
|
> (pg_lsn,pg_lsn)
|
|
<= (pg_lsn,pg_lsn)
|
|
>= (pg_lsn,pg_lsn)
|
range_inclusion_ops
|
= (anyrange,anyrange)
|
|
< (anyrange,anyrange)
|
|
<= (anyrange,anyrange)
|
|
>= (anyrange,anyrange)
|
|
> (anyrange,anyrange)
|
|
&& (anyrange,anyrange)
|
|
@> (anyrange,anyelement)
|
|
@> (anyrange,anyrange)
|
|
<@ (anyrange,anyrange)
|
|
<< (anyrange,anyrange)
|
|
>> (anyrange,anyrange)
|
|
&< (anyrange,anyrange)
|
|
&> (anyrange,anyrange)
|
|
`+- |
- (anyrange,anyrange)+` |
text_bloom_ops
|
= (text,text)
|
text_minmax_ops
|
= (text,text)
|
|
< (text,text)
|
|
<= (text,text)
|
|
> (text,text)
|
|
>= (text,text)
|
tid_bloom_ops
|
= (tid,tid)
|
tid_minmax_ops
|
= (tid,tid)
|
|
< (tid,tid)
|
|
> (tid,tid)
|
|
<= (tid,tid)
|
|
>= (tid,tid)
|
tid_minmax_multi_ops
|
= (tid,tid)
|
|
< (tid,tid)
|
|
> (tid,tid)
|
|
<= (tid,tid)
|
|
>= (tid,tid)
|
timestamp_bloom_ops
|
= (timestamp,timestamp)
|
timestamp_minmax_ops
|
= (timestamp,timestamp)
|
|
< (timestamp,timestamp)
|
|
<= (timestamp,timestamp)
|
|
> (timestamp,timestamp)
|
|
>= (timestamp,timestamp)
|
timestamp_minmax_multi_ops
|
= (timestamp,timestamp)
|
|
< (timestamp,timestamp)
|
|
<= (timestamp,timestamp)
|
|
> (timestamp,timestamp)
|
|
>= (timestamp,timestamp)
|
timestamptz_bloom_ops
|
= (timestamptz,timestamptz)
|
timestamptz_minmax_ops
|
= (timestamptz,timestamptz)
|
|
< (timestamptz,timestamptz)
|
|
<= (timestamptz,timestamptz)
|
|
> (timestamptz,timestamptz)
|
|
>= (timestamptz,timestamptz)
|
timestamptz_minmax_multi_ops
|
= (timestamptz,timestamptz)
|
|
< (timestamptz,timestamptz)
|
|
<= (timestamptz,timestamptz)
|
|
> (timestamptz,timestamptz)
|
|
>= (timestamptz,timestamptz)
|
time_bloom_ops
|
= (time,time)
|
time_minmax_ops
|
= (time,time)
|
|
< (time,time)
|
|
<= (time,time)
|
|
> (time,time)
|
|
>= (time,time)
|
time_minmax_multi_ops
|
= (time,time)
|
|
< (time,time)
|
|
<= (time,time)
|
|
> (time,time)
|
|
>= (time,time)
|
timetz_bloom_ops
|
= (timetz,timetz)
|
timetz_minmax_ops
|
= (timetz,timetz)
|
|
< (timetz,timetz)
|
|
<= (timetz,timetz)
|
|
> (timetz,timetz)
|
|
>= (timetz,timetz)
|
timetz_minmax_multi_ops
|
= (timetz,timetz)
|
|
< (timetz,timetz)
|
|
<= (timetz,timetz)
|
|
> (timetz,timetz)
|
|
>= (timetz,timetz)
|
uuid_bloom_ops
|
= (uuid,uuid)
|
uuid_minmax_ops
|
= (uuid,uuid)
|
|
< (uuid,uuid)
|
|
> (uuid,uuid)
|
|
<= (uuid,uuid)
|
|
>= (uuid,uuid)
|
uuid_minmax_multi_ops
|
= (uuid,uuid)
|
|
< (uuid,uuid)
|
|
> (uuid,uuid)
|
|
<= (uuid,uuid)
|
|
>= (uuid,uuid)
|
varbit_minmax_ops
|
= (varbit,varbit)
|
|
< (varbit,varbit)
|
|
> (varbit,varbit)
|
|
<= (varbit,varbit)
|
|