Re: speed up a logical replica setup - Mailing list pgsql-hackers

From Euler Taveira
Subject Re: speed up a logical replica setup
Date
Msg-id 2736443c-58e3-42df-8cc4-8c66106e3da5@app.fastmail.com
Whole thread Raw
In response to Re: speed up a logical replica setup  (vignesh C <vignesh21@gmail.com>)
Responses Re: speed up a logical replica setup
List pgsql-hackers
On Mon, Jan 1, 2024, at 7:14 AM, vignesh C wrote:
1) This Assert can fail if source is shutdown:
+static void
+drop_replication_slot(PGconn *conn, LogicalRepInfo *dbinfo, const
char *slot_name)
+{
+       PQExpBuffer str = createPQExpBuffer();
+       PGresult   *res;
+
+       Assert(conn != NULL);

Oops. I'll remove it.

2) Should we have some checks to see if the max replication slot
configuration is ok based on the number of slots that will be created,
we have similar checks in upgrade replication slots in
check_new_cluster_logical_replication_slots

That's a good idea.

3) Should we check if wal_level is set to logical, we have similar
checks in upgrade replication slots in
check_new_cluster_logical_replication_slots

That's a good idea.

4) The physical replication slot that was created will still be
present in the primary node, I felt this should be removed.

My proposal is to remove it [1]. It'll be include in the next version.

5) I felt the target server should be started before completion of
pg_subscriber:

Why? The initial version had an option to stop the subscriber. I decided to
remove the option and stop the subscriber by default mainly because (1) it is
an extra step to start the server (another point is that the WAL retention
doesn't happen due to additional (synchronized?) replication slots on
subscriber -- point 2). It was a conservative choice. If point 2 isn't an
issue, imo point 1 is no big deal.




--
Euler Taveira

pgsql-hackers by date:

Previous
From: jian he
Date:
Subject: Re: Change GUC hashtable to use simplehash?
Next
From: shveta malik
Date:
Subject: Re: Synchronizing slots from primary to standby