BUG #17246: Feature request for adoptive indexes

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: manukyantt(at)gmail(dot)com
Subject: BUG #17246: Feature request for adoptive indexes
Date: 2021-10-25 13:35:17
Message-ID: 17246-75f897fe453b5e24@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17246
Logged by: Hayk Manukyan
Email address: manukyantt(at)gmail(dot)com
PostgreSQL version: 14.0
Operating system: Any
Description:

Hi everyone. I want to do some feature request regarding indexes, as far as
I know this kind of functionality doesn't exists in Postgres. Here is my
problem :
I need to create following indexes:
Create index job_nlp_year_scan on ingest_scans_stageing
(`job`,`nlp`,`year`,`scan_id`);
Create index job_nlp_year_issue_flag on ingest_scans_stageing
(`job`,`nlp`,`year`,`issue_flag`);
Create index job_nlp_year_sequence on ingest_scans_stageing
(`job`,`nlp`,`year`,`sequence`);
As you can see the first 3 columns are the same (job, nlp, year). so if I
create 3 different indexes db should manage same job_nlp_year structure 3
times.
The Data Structure that I think which can be efficient in this kind of
scenarios is to have 'Adaptive Index' which will be something like
Create index job_nlp_year on ingest_scans_stageing
(`job`,`nlp`,`year`,(`issue_flag`,`scan_id`, `sequence`));
And depend on query it will use or job_nlp_year_scan or
job_nlp_year_issue_flag , or job_nlp_year_sequence ( job, nlp, year and one
of ( `issue_flag` , `scan_id` , `sequence` )
For more description please feel free to refer me

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Efrain J. Berdecia 2021-10-25 13:49:18 Re: BUG #17229: Segmentation Fault after upgrading to version 13
Previous Message Dmitry Dolgov 2021-10-25 11:41:59 Re: ERROR: posting list tuple with 20 items cannot be split at offset 168