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>,
Rafia Sabih <rafia.pghackers@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-01-08T10:54:52Z
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 →
-
Fix RELCACHE_FORCE_RELEASE issue
- 12fb189bfeaf 13.0 landed
-
Allow publishing partition changes via ancestors
- 83fd4532a721 13.0 landed
-
Add logical replication support to replicate into partitioned tables
- f1ac27bfda6c 13.0 landed
-
Refactor code to look up local replication tuple
- d8653f468789 13.0 landed
-
Some refactoring of logical/worker.c
- 97ee604d9bce 13.0 landed
-
Prepare to support non-tables in publications
- c314c147c056 13.0 landed
-
Support adding partitioned tables to publication
- 17b9e7f9fe23 13.0 landed
On 2020-01-07 06:01, Amit Langote wrote: > On Mon, Jan 6, 2020 at 8:25 PM Rafia Sabih <rafia.pghackers@gmail.com> wrote: >> Hi Amit, >> >> I went through this patch set once again today and here are my two cents. > > Thanks Rafia. > > Rebased and updated to address your comments. Looking through 0001, I think perhaps there is a better way to structure some of the API changes. Instead of passing the root_target_rel to CheckValidResultRel() and CheckCmdReplicaIdentity(), which we only need to check the publication actions of the root table, how about changing GetRelationPublicationActions() to automatically include the publication information of the root table. Then we have that information in the relcache once and don't need to check the base table and the partition root separately at each call site (of which there is only one right now). (Would that work correctly with relcache invalidation?) Similarly, couldn't GetRelationPublications() just automatically take partitioning into account? We don't need the separation between GetRelationPublications() and GetRelationAncestorPublications(). This would also avoid errors of omission, for example the GetRelationPublications() call in ATPrepChangePersistence() doesn't take GetRelationAncestorPublications() into account. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services