Re: Minimal logical decoding on standbys

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Jeff Davis <pgsql@j-davis.com>, Andres Freund <andres@anarazel.de>, Robert Haas <robertmhaas@gmail.com>, Thomas Munro <thomas.munro@gmail.com>, Ibrar Ahmed <ibrar.ahmad@gmail.com>, Amit Khandekar <amitdkhan.pg@gmail.com>, fabriziomello@gmail.com, tushar <tushar.ahuja@enterprisedb.com>, Rahila Syed <rahila.syed@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-04-07T05:02:04Z
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. Reduce the log level in 035_standby_logical_decoding.pl.

  2. 035_standby_logical_decoding: Add missing waits for replication

  3. For cascading replication, wake physical and logical walsenders separately

  4. Handle logical slot conflicts on standby

  5. Support invalidating replication slots due to horizon and wal_level

  6. Prevent use of invalidated logical slot in CreateDecodingContext()

  7. Replace replication slot's invalidated_at LSN with an enum

  8. Pass down table relation into more index relation functions

  9. Assert only valid flag bits are passed to visibilitymap_set()

  10. Remove unused _bt_delitems_delete() argument.

  11. Add xl_btree_delete optimization.

Attachments

Hi,

On 4/6/23 4:20 PM, Drouvot, Bertrand wrote:
> Hi,
> 
> On 4/6/23 3:39 PM, Amit Kapila wrote:
>> On Thu, Apr 6, 2023 at 6:32 PM Drouvot, Bertrand
>> <bertranddrouvot.pg@gmail.com> wrote:
>>>
>>>
>>> I don't think it could be possible to create logical walsenders on a standby if
>>> AllowCascadeReplication() is not true, or am I missing something?
>>>
>>
>> Right, so why to even traverse walsenders for that case? What I was
>> imagining a code is like:
>> if (AllowCascadeReplication())
>>      WalSndWakeup(switchedTLI, true);
>>
>> Do you see any problem with this change?
> 
> Not at all, it looks good to me.
> 
>>

Done in V63 attached and did change the associated comment a bit.


>> Few more minor comments on 0005
>> =============================
>> 0005
>> 1.
>> +       <para>
>> +        Take a snapshot of running transactions and write this to WAL without
>> +        having to wait bgwriter or checkpointer to log one.
>>
>> /wait bgwriter/wait for bgwriter
>>
>> 2.
>> +use Test::More tests => 67;
>>
>> We no more use the number of tests. Please refer to other similar tests.
>>
> 
> Thanks! Will update 0005.
> 

Done in V63.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com