Re: Streaming Replication vs Logical
Jürgen Purtz <juergen@purtz.de>
From: Jürgen Purtz <juergen@purtz.de>
To: pgsql-docs@lists.postgresql.org
Date: 2024-10-12T06:33:32Z
Lists: pgsql-docs
On 12.10.24 00:53, Paul A Jungwirth wrote: > Our docs seem to contrast "streaming replication" to logical, but > these are not really opposites. Sometimes when they say "streaming" > they mean "physical". > > Probably this is historical: at first physical replication was the > only kind of streaming we had. > > Personally this has caused me a lot of confusion. For example, > recently when I read "Synchronous replication (see Section 26.2.8) is > only supported on replication slots used over the streaming > replication interface," I took it to mean synchronous replication only > worked for physical replication, not logical. But actually here the > contrast is between the streaming protocol and SQL commands. I think > it would help if the docs elsewhere took more care to say "physical" > not "streaming" when that is the meaning. > > This patch fixes a callout note in the Logical Decoding section. It > was sort of vague before. It dates back to the original commit > documenting logical decoding, so I'm not sure of the original motive. > I think the new text is more precise and about the other use for > replication slots, and also clearly separates streaming replication > from physical-vs-logical replication. (I used the word "typically" > because you *can* have a standby with logical replication, although > elsewhere we warn it may not be as robust.) > > I also tried to fix the first three paragraphs of > https://www.postgresql.org/docs/current/runtime-config-replication.html > which seem to be setting up a distinction between streaming > replication and logical. This is tricky, because (1) we are trying to > introduce how we've organized different config parameters, and some > affect both physical and logical replication (e.g. > max_replication_slots and wal_retrieve_retry_interval) (2) you can use > logical replication without streaming (e.g. > pg_logical_slot_get_changes). > > While I was making edits there, I took out some language about > "built-in" and "feature", which seem like unnecessary wordiness. > > I also added "physical" to a couple places in > https://www.postgresql.org/docs/current/warm-standby.html as well as a > Note callout to clarify that the whole page is really about using > physical replication. Technically you could use logical replication to > run a standby, but that seems like a separate discussion. > > Yours, > Adding clear definitions to the glossary would help users and authors alike. J. Purtz
Commits
-
doc: clarify when physical/logical replication is used
- 80f08a6e6a6c 19 (unreleased) landed
-
doc: clarify "physical" replication slot creation on the primary
- a5b69e30731f 19 (unreleased) cited
-
doc: reorder logical replication benefits in a logical order
- acbc9beaaed6 19 (unreleased) cited