Re: adding partitioned tables to publications

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Petr Jelinek <petr@2ndquadrant.com>, Rafia Sabih <rafia.pghackers@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-04-08T09:26:30Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix RELCACHE_FORCE_RELEASE issue

  2. Allow publishing partition changes via ancestors

  3. Add logical replication support to replicate into partitioned tables

  4. Refactor code to look up local replication tuple

  5. Some refactoring of logical/worker.c

  6. Prepare to support non-tables in publications

  7. Support adding partitioned tables to publication

On 2020-04-08 07:45, Amit Langote wrote:
> On Wed, Apr 8, 2020 at 1:22 AM Amit Langote <amitlangote09@gmail.com> wrote:
>> On Tue, Apr 7, 2020 at 6:01 PM Peter Eisentraut
>> <peter.eisentraut@2ndquadrant.com> wrote:
>>> The descriptions of the new fields in RelationSyncEntry don't seem to
>>> match the code accurately, or at least it's confusing.
>>> replicate_as_relid is always filled in with an ancestor, even if
>>> pubviaroot is not set.
>>
>> Given this confusion, I have changed how replicate_as_relid works so
>> that it's now always set -- if different from the relation's own OID,
>> the code for "publishing via root" kicks in in various places.
>>
>>> I think the pubviaroot field is actually not necessary.  We only need
>>> replicate_as_relid.
>>
>> Looking through the code, I agree.  I guess I only kept it around to
>> go with pubupdate, etc.
> 
> Think I broke truncate replication with this.  Fixed in the attached
> updated patch.

All committed.

Thank you and everyone very much for working on this.  I'm very happy 
that these two features from PG10 have finally met. :)

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services