Re: On partitioning

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@2ndquadrant.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Greg Stark <stark@mit.edu>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2014-08-29T17:56:52Z
Lists: pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-08-29 13:29:19 -0400, Tom Lane wrote:
>> An actual fix would presumably involve adding a partition number to the
>> ctid chain field in tuples in partitioned tables.  The reason I bring it
>> up now is that we'd have to commit to doing that (or at least leaving room
>> for it) in the first implementation, if we don't want to have an on-disk
>> compatibility break.

> What we could do is to add some sort of 'jump' tuple when moving a tuple
> from one relation to another. So, when updating a tuple between
> partitions we add another in the old partition with xmin_jump =
> xmax_jump = xmax_old and have the jump tuple's content point to the new
> relation.

Hm, that might work.  It sounds more feasible than Alvaro's suggestion
of abusing cmax --- I don't think that field is free for use in this
context.

			regards, tom lane