RE: [RFC] [PATCH] Flexible "partition pruning" hook

From: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
To: 'Mike Palmiotto' <mike(dot)palmiotto(at)crunchydata(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: RE: [RFC] [PATCH] Flexible "partition pruning" hook
Date: 2019-02-26 06:55:30
Message-ID: 0A3221C70F24FB45833433255569204D1FBB5413@G01JPEXMBYT05
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

From: Mike Palmiotto [mailto:mike(dot)palmiotto(at)crunchydata(dot)com]
> Attached is a patch which attempts to solve a few problems:
>
> 1) Filtering out partitions flexibly based on the results of an external
> function call (supplied by an extension).
> 2) Filtering out partitions from pg_inherits based on the same function
> call.
> 3) Filtering out partitions from a partitioned table BEFORE the partition
> is actually opened on-disk.

What concrete problems would you expect this patch to solve? What kind of extensions do you imagine? I'd like to hear about the examples. For example, "PostgreSQL 12 will not be able to filter out enough partitions when planning/executing SELECT ... WHERE ... statement. But an extension like this can extract just one partition early."

Would this help the following issues with PostgreSQL 12?

* UPDATE/DELETE planning takes time in proportion to the number of partitions, even when the actually accessed partition during query execution is only one.

* Making a generic plan takes prohibitably long time (IIRC, about 12 seconds when the number of partitoons is 1,000 or 8,000.)

Regards
Takayuki Tsunakawa

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nagaura, Ryohei 2019-02-26 07:19:06 inted RE: Timeout parameters
Previous Message David Steele 2019-02-26 06:48:58 Re: Remove Deprecated Exclusive Backup Mode