Replica vs standby

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Euler Taveira <euler(at)eulerto(dot)com>
Cc: yanliang lei <msdnchina(at)163(dot)com>, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Replica vs standby
Date: 2023-09-06 01:42:16
Message-ID: ZPfY+C28UF0oGDx2@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs


I started digging into this and came up with a can of worms. I have
therefore updated the email subject.

Our glossary has:

https://www.postgresql.org/docs/devel/glossary.html

--> Standby (server)

See Replica (server).

--> Replica (server)

A database that is paired with a primary database and is maintaining
a copy of some or all of the primary database's data. The foremost
reasons for doing this are to allow for greater access to that data, and
to maintain availability of the data in the event that the primary
becomes unavailable.

So, both physical and logical replication can create standbys/replicas:

https://www.postgresql.org/docs/devel/logical-replication-subscription.html

A logical replication subscription can be a standby for
synchronous replication (see Section 27.2.8).

So, when we are talking about max_wal_senders, is it clear we are
talking a about physical replicas, logical replicas, and logical
subscribers that might not be using their data in a standby/replica
role? They might be using it in a replica role but not a standby role,
and if that is true, standby and replica are not synonyms, and maybe we
need to use replica in more places, or somehow clarify this.

There are other cases in our docs where we call something a standby and
mean only a physical standby/replica. Should these be clarified?

---------------------------------------------------------------------------

On Wed, Aug 23, 2023 at 03:31:04PM -0300, Euler Taveira wrote:
> On Wed, Aug 23, 2023, at 10:55 AM, PG Doc comments form wrote:
>
> max_wal_senders (integer)
>
> Specifies the maximum number of concurrent connections from standby servers
> or streaming base backup clients (i.e., the maximum number of
> simultaneously
> running WAL sender processes). The default is 10. The value 0 means
> replication is disabled. Abrupt disconnection of a streaming client might
> leave an orphaned connection slot behind until a timeout is reached, so
> this
> parameter should be set slightly higher than the maximum number of expected
> clients so disconnected clients can immediately reconnect. This parameter
> can only be set at server start. Also, wal_level must be set to replica or
> higher to allow connections from standby servers.
>
> When running a standby server, you must set this parameter to the same or
> higher value than on the primary server. Otherwise, queries will not be
> allowed in the standby server.
>
>
>
> In the above description, there is no description about "Logical
> Replication
> also use or occupy max_wal_senders ",
>
>
> According to the glossary [1], standby server (referred as "replica") is
>
> Replica (server)
> A database that is paired with a primary database and is maintaining a copy of
> some or all of the primary database's data. The foremost reasons for doing this
> are to allow for greater access to that data, and to maintain availability of
> the data in the event that the primary becomes unavailable.
>
> ... and it implies both (logical and physical) replicas. The logical
> replication [2] setup also informs that you need to adjust max_wal_senders.
>
> Maybe the "standby" terminology could be expanded to avoid confusion for users
> from other technologies. If I were to suggest a modification, it would be in
> the first paragraph in the "Replication" section [3] (something like "Primaries
> can send data, while standbys are always receivers of physically or logically
> replicated data") or even better rephrase the "Replica (server)" term in the
> glossary [1].
>
>
> so, I suggest the following modification:
> Specifies the maximum number of concurrent connections from standby servers
> or streaming base backup clients and Logical Replication (i.e., the
> maximum number of simultaneously running WAL sender processes). ---please
> note ,"and Logical Replication" is newly added。
>
>
>
> The logical replication feature wasn't newly added. It was added almost 6 years
> ago and version 10 (that adds it) was EOL more than 9 months ago.
>
>
> [1] https://www.postgresql.org/docs/current/glossary.html
> [2] https://www.postgresql.org/docs/current/logical-replication-config.html
> [3] https://www.postgresql.org/docs/current/runtime-config-replication.html
>
>
> --
> Euler Taveira
> EDB https://www.enterprisedb.com/
>

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Only you can decide what is important to you.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Peter Eisentraut 2023-09-06 07:02:02 Re: Replica vs standby
Previous Message PG Doc comments form 2023-09-05 09:36:45 Clarification of deadlock possibilities in section 13.3.5. Advisory Locks