Re: regression in PG 15.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 28, 2022 at 7:45 AM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Scott Ribe <scott_ribe@xxxxxxxxxxxxxxxx> writes:
>   select * from tbl where txid > something and tbl_id = (select id from reftbl where name = 'someval');
> ^^^ fails to exclude partitions, kicks off parallel scans on all 142, takes 23,170ms

Why do you say this is a regression?  From what I know of the partition
pruning logic (admittedly not a whole lot), I don't think we'd have
ever pruned on the basis of such a constraint.


The second bullet point here indicates the subquery should prune during execution.


During actual execution of the query plan. Partition pruning may also be performed here to remove partitions using values which are only known during actual query execution. This includes values from subqueries [...]

That subquery seems like it should meet whatever criteria there is for this runtime pruning.  Namely, it must return zero or one rows and it not correlated with the rest of the query.

David J.


[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux