Re: [Patch] add new parameter to pg_replication_origin_session_setup - Mailing list pgsql-hackers

From Euler Taveira
Subject Re: [Patch] add new parameter to pg_replication_origin_session_setup
Date
Msg-id b9666b93-093b-4c9f-a385-772d6ab5688c@app.fastmail.com
Whole thread Raw
In response to [Patch] add new parameter to pg_replication_origin_session_setup  (Doruk Yilmaz <doruk@mixrank.com>)
List pgsql-hackers
On Mon, Aug 12, 2024, at 3:43 PM, Doruk Yilmaz wrote:
Hello all,

Hi!

While working on our internal tools that utilise replication, we
realised that a new parameter was added to the internal C function
corresponding to pg_replication_origin_session_setup.
However this parameter wasn't included in the user-facing API [1].

I'm curious about your use case. Is it just because the internal function has a
different signature or your tool is capable of apply logical replication changes
in parallel using the SQL API?

I made this patch to the master which adds a way to control this
parameter by adding a new version of the
pg_replication_origin_session_setup function with user facing
parameters 'text int4' in place of the current 'text' while keeping
the existing variant
(ensuring backwards compatibility). Could someone take a look at it?

I did a quick look at your patch and have a few suggestions.

* no documentation changes. Since the function you are changing has a new
signature, this change should be reflected in the documentation.
* no need for a new internal function. The second parameter (PID) can be
optional and defaults to 0 in this case. See how we changed the
pg_create_logical_replication_slot along the years add some IN parameters like
twophase and failover in the recent versions.
* add a CF entry [1] for this patch so we don't forget it. Another advantage is
that this patch is covered by CI [2][3].




--
Euler Taveira

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Introduce XID age and inactive timeout based replication slot invalidation
Next
From: Nathan Bossart
Date:
Subject: Re: Restart pg_usleep when interrupted