diff options
author | Tomas Vondra <tomas.vondra@postgresql.org> | 2021-03-26 13:54:29 +0100 |
---|---|---|
committer | Tomas Vondra <tomas.vondra@postgresql.org> | 2021-03-26 13:54:30 +0100 |
commit | ab596105b55f1d7fbd5a66b66f65227d210b047d (patch) | |
tree | ba03f65e68913c0a684e9483a0c43e0df0229ee3 /src/backend/utils/adt/acl.c | |
parent | 77b88cd1bb9041a735f24072150cacfa06c699a3 (diff) | |
download | postgresql-ab596105b55f1d7fbd5a66b66f65227d210b047d.tar.gz postgresql-ab596105b55f1d7fbd5a66b66f65227d210b047d.zip |
BRIN minmax-multi indexes
Adds BRIN opclasses similar to the existing minmax, except that instead
of summarizing the page range into a single [min,max] range, the summary
consists of multiple ranges and/or points, allowing gaps. This allows
more efficient handling of data with poor correlation to physical
location within the table and/or outlier values, for which the regular
minmax opclassed tend to work poorly.
It's possible to specify the number of values kept for each page range,
either as a single point or an interval boundary.
CREATE TABLE t (a int);
CREATE INDEX ON t
USING brin (a int4_minmax_multi_ops(values_per_range=16));
When building the summary, the values are combined into intervals with
the goal to minimize the "covering" (sum of interval lengths), using a
support procedure computing distance between two values.
Bump catversion, due to various catalog changes.
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com>
Reviewed-by: Sokolov Yura <y.sokolov@postgrespro.ru>
Reviewed-by: John Naylor <john.naylor@enterprisedb.com>
Discussion: https://postgr.es/m/c1138ead-7668-f0e1-0638-c3be3237e812@2ndquadrant.com
Discussion: https://postgr.es/m/5d78b774-7e9c-c94e-12cf-fef51cc89b1a%402ndquadrant.com
Diffstat (limited to 'src/backend/utils/adt/acl.c')
0 files changed, 0 insertions, 0 deletions