Re: How to use the BRIN index properly? - Mailing list pgsql-general

From Ron
Subject Re: How to use the BRIN index properly?
Date
Msg-id d0043a0b-29a1-8c83-6ea9-af0b2f1d6a25@gmail.com
Whole thread Raw
In response to Re: How to use the BRIN index properly?  (Siddharth Jain <siddhsql@gmail.com>)
Responses Re: How to use the BRIN index properly?
List pgsql-general
Is the data in your tables stored in natural correlation with those three columns?  I'm dubious that can even happen.

BRIN is best for range queries on tables who's data is added in the same order as the key in the BRIN index (for example, a BRIN index on a timestamp field in a log table where new records are always being appended in "timestamp" order).

It would also be great for history tables where you can pre-sort the data by, for example, customer_id, and then put the BRIN on customer_id.

On 2/8/23 13:58, Siddharth Jain wrote:
our insertion order is of course != index order otherwise the question would have been trivial.
we use postgres 14

On Wed, Feb 8, 2023 at 11:51 AM Siddharth Jain <siddhsql@gmail.com> wrote:
Hello,

We have large tables with billions of rows in them and want to take advantage of the BRIN index on them.

Issues we are facing:
  • as I understand, BRIN index is useful only if the data is stored in index order. As an example we want to create a composite BRIN index on 3 columns - integers and strings (varchar). How can we tell Postgres to store data in index order as new records are inserted into the database?
  • i understand that turning on autosummarize will keep the index fresh and up-to-date as new records are inserted. is this correct?
Thanks for your help.

S.

--
Born in Arizona, moved to Babylonia.

pgsql-general by date:

Previous
From: Siddharth Jain
Date:
Subject: Re: How to use the BRIN index properly?
Next
From: Miles Elam
Date:
Subject: Re: Sequence vs UUID