Re: adding partitioned tables to publications

Petr Jelinek <petr@2ndquadrant.com>

From: Petr Jelinek <petr@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Langote <amitlangote09@gmail.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Rafia Sabih <rafia.pghackers@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-04-04T05:07:29Z
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 03/04/2020 17:51, Tom Lane wrote:
> Petr Jelinek <petr@2ndquadrant.com> writes:
>> On 03/04/2020 16:59, Tom Lane wrote:
>>> Petr Jelinek <petr@2ndquadrant.com> writes:
>>>> AFAIK gcov can't handle multiple instances of same process being started
>>>> as it just overwrites the coverage files. So for TAP test it will report
>>>> bogus info (as in some code that's executed will look as not executed).
> 
>>> Hm, really?  I routinely run "make check" (ie, parallel regression
>>> tests) under coverage, and I get results that seem sane.  If I were
>>> losing large chunks of the data, I think I'd have noticed.
> 
>> Parallel regression still just starts single postgres instance no?
> 
> But the forked-off children have to write the gcov files independently,
> don't they?
> 

Hmm that's very good point. I did see these missing coverage issue when 
running tests that explicitly start more instances of postgres before 
though. And with some quick googling, parallel testing seems to be issue 
with gcov for more people.

I wonder if the program checksum that gcov calculates when merging the 
.gcda data while updating it is somehow different for separately started 
instances but not for the ones forked from same parent or something. I 
don't know internals of gcov well enough to say how exactly that works.

-- 
Petr Jelinek
2ndQuadrant - PostgreSQL Solutions for the Enterprise
https://www.2ndQuadrant.com/