Re: adding partitioned tables to publications
amit <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Rafia Sabih <rafia.pghackers@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-11-08T05:31:35Z
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
Hello Rafia, On Tue, Nov 5, 2019 at 12:41 AM Rafia Sabih <rafia.pghackers@gmail.com> wrote: > On Fri, 11 Oct 2019 at 08:06, Amit Langote <amitlangote09@gmail.com> wrote: >> Thanks for sharing this case. I hadn't considered it, but you're >> right that it should be handled sensibly. I have fixed table sync >> code to handle this case properly. Could you please check your case >> with the attached updated patch? >> > I was checking this today and found that the behavior doesn't change much with the updated patch. The tables are still replicated, just that a select count from parent table shows 0, rest of the partitions including default one has the data from the publisher. I was expecting more like an error at subscriber saying the table type is not same. > > Please find the attached file for the test case, in case something is unclear. Thanks for the test case. With the latest patch I posted, you'll get the following error on subscriber: create subscription mysub connection 'host=localhost port=5432 dbname=postgres' publication mypub; ERROR: cannot use relation "public.t" as logical replication target DETAIL: "public.t" is a regular table on subscription side whereas a partitioned table on publication side Although to be honest, I'd rather not see the error. As I mentioned in my email earlier, it'd be nice to be able sync a partitioned table and a regular table (or vice versa) via replication. Thanks, Amit