From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Sergei Kornilov <sk(at)zsrv(dot)org>, Amit Langote <langote_amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Simon Riggs <simon(at)2ndquadrant(dot)com> |
Subject: | Re: ATTACH/DETACH PARTITION CONCURRENTLY |
Date: | 2018-12-20 20:58:02 |
Message-ID: | 20181220205802.kws4rj67albfcroc@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thanks for this work! I like the name "partition directory".
On 2018-Dec-20, Robert Haas wrote:
> 0002 introduces the concept of a partition directory. The idea is
> that the planner will create a partition directory, and so will the
> executor, and all calls which occur in those places to
> RelationGetPartitionDesc() will instead call
> PartitionDirectoryLookup(). Every lookup for the same relation in the
> same partition directory is guaranteed to produce the same answer. I
> believe this patch still has a number of weaknesses. More on that
> below.
The commit message for this one also points out another potential
problem,
> Introduce the concept of a partition directory.
>
> Teach the optimizer and executor to use it, so that a single planning
> cycle or query execution gets the same PartitionDesc for the same table
> every time it looks it up. This does not prevent changes between
> planning and execution, nor does it guarantee that all tables are
> expanded according to the same snapshot.
Namely: how does this handle the case of partition pruning structure
being passed from planner to executor, if an attach happens in the
middle of it and puts a partition in between existing partitions? Array
indexes of any partitions that appear later in the partition descriptor
will change.
This is the reason I used the query snapshot rather than EState.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2018-12-20 20:58:10 | Re: lock level for DETACH PARTITION looks sketchy |
Previous Message | Robert Haas | 2018-12-20 20:56:12 | Re: Add timeline to partial WAL segments |