Re: Synchronizing slots from primary to standby - Mailing list pgsql-hackers

From Nisha Moond
Subject Re: Synchronizing slots from primary to standby
Date
Msg-id CABdArM45P-qy16+-qJac8KqVFako2YoKFPeKJg0QsHXHrLi98g@mail.gmail.com
Whole thread Raw
In response to Re: Synchronizing slots from primary to standby  (Nisha Moond <nisha.moond412@gmail.com>)
Responses Re: Synchronizing slots from primary to standby
List pgsql-hackers
On Fri, Dec 1, 2023 at 5:40 PM Nisha Moond <nisha.moond412@gmail.com> wrote:
>
> Review for v41 patch.
>
> 1.
> ======
> src/backend/utils/misc/postgresql.conf.sample
>
> +#enable_syncslot = on # enables slot synchronization on the physical
> standby from the primary
>
> enable_syncslot is disabled by default, so, it should be 'off' here.
>
> ~~~
> 2.
> IIUC, the slotsyncworker's connection to the primary is to execute a
> query. Its aim is not walsender type connection, but at primary when
> queried, the 'backend_type' is set to 'walsender'.
> Snippet from primary db-
>
> datname  |   usename   | application_name | wait_event_type | backend_type
> ---------+-------------+------------------+-----------------+--------------
> postgres | replication | slotsyncworker   | Client          | walsender
>
> Is it okay?
>
> ~~~
> 3.
> As per current logic, If there are slots on primary with disabled
> subscriptions, then, when standby is created it replicates these slots
> but can't make them sync-ready until any activity happens on the
> slots.
> So, such slots stay in 'i' sync-state and get dropped when failover
> happens. Now, if the subscriber tries to enable their existing
> subscription after failover, it gives an error that the slot does not
> exist.

Is this behavior expected? If yes, then is it worth documenting about
disabled subscription slots not being synced?

--
Thanks,
Nisha



pgsql-hackers by date:

Previous
From: Nurul Karim Rafi
Date:
Subject: Re: Materialized view in Postgres from the variables rather than SQL query results
Next
From: "Tristan Partin"
Date:
Subject: Re: meson: Stop using deprecated way getting path of files