SV: design partioning scheme for selecting from latest partition - Mailing list pgsql-general

From Niels Jespersen
Subject SV: design partioning scheme for selecting from latest partition
Date
Msg-id bf8e07677539487bac1afb67298474cd@dst.dk
Whole thread Raw
In response to Re: design partioning scheme for selecting from latest partition  (Francisco Olarte <folarte@peoplecall.com>)
List pgsql-general


>Fra: Francisco Olarte <folarte@peoplecall.com> 
>Sendt: 22. marts 2021 20:04
>Til: Niels Jespersen <NJN@dst.dk>
>Cc: pgsql-general@lists.postgresql.org
>Emne: Re: design partioning scheme for selecting from latest partition
>
>Niels:
>
>On Mon, Mar 22, 2021 at 3:40 PM Niels Jespersen <NJN@dst.dk> wrote:
>...
>> -- Then I want to be able to do this wothout scanning all partitions for the highest version number.
>>
>> select s.* from s where s.version = (select max(version) from s);
>
>> I could add an index on the version column. But the only use would be to the newest partition, so that seems a bit
likeoverkill, indexing 100 of milliomns of rows.
 
>
>Without an index, or some caching, you would need to scan partitions.
>...
>Even if you can do something like that, without an index you will need a full scan, or do some trigger magic and keep
acache ( just keep versio, count(*) on a table and maintain it ). If your partitions are ordered, you can always keep
thelast one indexed, or if you know versions do not decrease, you may keep things cached. This seems to be the kind of
problemwhere the generic solution is hard but a little insider knowledge can accelerate it a lot.
 
>
>Regards.
>   Francisco Olarte.

Thank you Francisco

I think I will revisit the whole design. Better do it right. 

Niels


pgsql-general by date:

Previous
From: Kenneth Marshall
Date:
Subject: Re: Binary encoding of timetz type
Next
From: Андрей Сычёв
Date:
Subject: No enough privileges for autovacuum worker