Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1szOWJ-005ou0-1t for pgsql-docs@arkaria.postgresql.org; Fri, 11 Oct 2024 22:54:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1szOWF-00DAtg-Oi for pgsql-docs@arkaria.postgresql.org; Fri, 11 Oct 2024 22:54:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1szOWF-00DArJ-AD for pgsql-docs@lists.postgresql.org; Fri, 11 Oct 2024 22:53:59 +0000 Received: from mail-oo1-xc31.google.com ([2607:f8b0:4864:20::c31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1szOWA-000aHC-QB for pgsql-docs@lists.postgresql.org; Fri, 11 Oct 2024 22:53:58 +0000 Received: by mail-oo1-xc31.google.com with SMTP id 006d021491bc7-5e7ff3c8bbcso1194889eaf.0 for ; Fri, 11 Oct 2024 15:53:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=illuminatedcomputing-com.20230601.gappssmtp.com; s=20230601; t=1728687233; x=1729292033; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=NZedOMM8+gu5kYidlNivkGl490+x3LbffPMx6obuNuk=; b=CnjdZh7HTOsLxMk17VG3uqUre9/wJICvU4ZZq4wXaPT19p+X3Z3pbQBXpbDabI9P6q OJutgNVGunBZPkwNJf7yqxS5tpGbYCFQ/fCC0D0RkvR+2wzlnurgzzmWQZOJrHXQXEKw Y0DwrjAF1KcqewAbkIChaGfWvknFPPiUopOrU9gjtdPPofsLAlLTI8yfENqRs2rxjBTn PvW0sKJT1iqhm9rAljWMzCkm889QEvHfIqj6ouO0OciUv//hLoVUb8bzMD19AcnsOQuD vDeG8Sdd+XBQ4Pwm55r/oBDWU7RTR0nlbM26JFQMmB2BzFakr48OOPt4KViMOirWp/d+ 1H2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728687233; x=1729292033; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=NZedOMM8+gu5kYidlNivkGl490+x3LbffPMx6obuNuk=; b=Tm1lzfrWm6rl2CzdaNQCa9NnybotJRDE8fenuw7Yl+xxeV1m1OeVmN6AIiMrjsvbex hwz2KblIgCY6cngQYUZYZV+lxKfQaXVb1uDXIfy7sGWH5WSg/eGnxeBhxzhyxhNf2RXO ezOrfpKgQcJQ8CcLqo/wmQwOGrVbdS76yGYATTDL3MhcX0x3gcZcBi4xXqOfNHlf31CL 6p9WWHoDVp8B7QHay5QrtFpHKqIKIX45ZlY3KsxMCjbKtlcC0QTjKv6brpz9fVwvJqlC qX+jWEPAmpTWskQLeACjKMSc2/CE06mUTw+XcnTEYZOfjSPH6iGQLgtTsxio9Kwb8OrW jz8A== X-Gm-Message-State: AOJu0YwwzXXYci6mkC3Mk98jY4OahXaUCqoBX0wfQt6LYjNiZAcAjjRf dEjT2JYjUhQwds2yz4kuf9sAd/PPqIDfiozvcPcbMm/ZEGY8f+yFvnrlTLkXHPNHQLn9DNJlRhh t4GHoMwL2d3ves89SNAZssT+UOIh5Ln5UTLRph7AGXoQQtaZH7NU= X-Google-Smtp-Source: AGHT+IELiXhYboNV9fl/pDYnKQmvMbPSqIGgc7utS/NATlsFSELaUQANeZd6iJlV7PQZnQKspWkBhTOBZeIA4u4l7v4= X-Received: by 2002:a05:6871:299:b0:260:e3fa:ab8d with SMTP id 586e51a60fabf-28887477812mr787226fac.37.1728687232816; Fri, 11 Oct 2024 15:53:52 -0700 (PDT) MIME-Version: 1.0 From: Paul A Jungwirth Date: Fri, 11 Oct 2024 15:53:41 -0700 Message-ID: Subject: Streaming Replication vs Logical To: pgsql-docs@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000070c77b06243b5cf2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000070c77b06243b5cf2 Content-Type: text/plain; charset="UTF-8" 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, -- Paul ~{:-) pj@illuminatedcomputing.com --00000000000070c77b06243b5cf2 Content-Type: application/octet-stream; name="v1-0001-Distinguish-between-streaming-replication-and-phy.patch" Content-Disposition: attachment; filename="v1-0001-Distinguish-between-streaming-replication-and-phy.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m25boidw0 RnJvbSA3NjY5Y2U5MDhmNzBhN2Y2YzE2NzhjZGM5MmJlNWMwNjg1MTMxZTExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMjQgMTU6NDM6MTAgLTA3MDAKU3ViamVj dDogW1BBVENIIHYxXSBEaXN0aW5ndWlzaCBiZXR3ZWVuIHN0cmVhbWluZyByZXBsaWNhdGlvbiBh bmQgcGh5c2ljYWwKCk91ciBkb2NzIHN0aWxsIHVzZSB0aGUgdGVybSAic3RyZWFtaW5nIHJlcGxp Y2F0aW9uIiBpbiBwbGFjZXMgd2hlcmUgdGhleQpyZWFsbHkgbWVhbiBwaHlzaWNhbCByZXBsaWNh dGlvbi4gVGhlc2UgY2hhbmdlcyB0cnkgdG8gY2xhcmlmeSB0aGUKbGFuZ3VhZ2UgYXJvdW5kIHN0 cmVhbWluZyByZXBsaWNhdGlvbiwgcGh5c2ljYWwgcmVwbGljYXRpb24sIGFuZCBsb2dpY2FsCnJl cGxpY2F0aW9uLiBJbiBwYXJ0aWN1bGFyIHdlIHNob3VsZCBhdm9pZCBzdWdnZXN0aW5nIHRoYXQg InN0cmVhbWluZyIKYW5kICJsb2dpY2FsIiBhcmUgb3Bwb3NpdGVzIG9yIGFsdGVybmF0aXZlcy4K LS0tCiBkb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgICAgICAgICAgICB8IDEzICsrKysrKystLS0t LS0KIGRvYy9zcmMvc2dtbC9oaWdoLWF2YWlsYWJpbGl0eS5zZ21sIHwgMTIgKysrKysrKysrKy0t CiBkb2Mvc3JjL3NnbWwvbG9naWNhbGRlY29kaW5nLnNnbWwgICB8ICA2ICsrKy0tLQogMyBmaWxl cyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKaW5k ZXggOTcwN2Q1MjM4ZGEuLjhhNTk4NDJkNzJkIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY29u ZmlnLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBAIC00MzY3LDE1ICs0MzY3 LDE2IEBAIHJlc3RvcmVfY29tbWFuZCA9ICdjb3B5ICJDOlxcc2VydmVyXFxhcmNoaXZlZGlyXFwl ZiIgIiVwIicgICMgV2luZG93cwogICAgIDx0aXRsZT5SZXBsaWNhdGlvbjwvdGl0bGU+CiAKICAg ICA8cGFyYT4KLSAgICAgVGhlc2Ugc2V0dGluZ3MgY29udHJvbCB0aGUgYmVoYXZpb3Igb2YgdGhl IGJ1aWx0LWluCi0gICAgIDxmaXJzdHRlcm0+c3RyZWFtaW5nIHJlcGxpY2F0aW9uPC9maXJzdHRl cm0+IGZlYXR1cmUgKHNlZQotICAgICA8eHJlZiBsaW5rZW5kPSJzdHJlYW1pbmctcmVwbGljYXRp b24iLz4pLCBhbmQgdGhlIGJ1aWx0LWluCi0gICAgIDxmaXJzdHRlcm0+bG9naWNhbCByZXBsaWNh dGlvbjwvZmlyc3R0ZXJtPiBmZWF0dXJlIChzZWUKKyAgICAgVGhlc2Ugc2V0dGluZ3MgY29udHJv bCB0aGUgYmVoYXZpb3Igb2YKKyAgICAgPGZpcnN0dGVybT5zdHJlYW1pbmcgcmVwbGljYXRpb248 L2ZpcnN0dGVybT4sCisgICAgIGJvdGggPGZpcnN0dGVybT5waHlzaWNhbCByZXBsaWNhdGlvbjwv Zmlyc3R0ZXJtPgorICAgICAoc2VlIDx4cmVmIGxpbmtlbmQ9InN0cmVhbWluZy1yZXBsaWNhdGlv biIvPikgYW5kCisgICAgIDxmaXJzdHRlcm0+bG9naWNhbCByZXBsaWNhdGlvbjwvZmlyc3R0ZXJt PiAoc2VlCiAgICAgIDx4cmVmIGxpbmtlbmQ9ImxvZ2ljYWwtcmVwbGljYXRpb24iLz4pLgogICAg IDwvcGFyYT4KIAogICAgIDxwYXJhPgotICAgICBGb3IgPGVtcGhhc2lzPnN0cmVhbWluZyByZXBs aWNhdGlvbjwvZW1waGFzaXM+LCBzZXJ2ZXJzIHdpbGwgYmUgZWl0aGVyIGEKKyAgICAgRm9yIDxl bXBoYXNpcz5waHlzaWNhbCByZXBsaWNhdGlvbjwvZW1waGFzaXM+LCBzZXJ2ZXJzIHdpbGwgYmUg ZWl0aGVyIGEKICAgICAgcHJpbWFyeSBvciBhIHN0YW5kYnkgc2VydmVyLiAgUHJpbWFyaWVzIGNh biBzZW5kIGRhdGEsIHdoaWxlIHN0YW5kYnlzCiAgICAgIGFyZSBhbHdheXMgcmVjZWl2ZXJzIG9m IHJlcGxpY2F0ZWQgZGF0YS4gIFdoZW4gY2FzY2FkaW5nIHJlcGxpY2F0aW9uCiAgICAgIChzZWUg PHhyZWYgbGlua2VuZD0iY2FzY2FkaW5nLXJlcGxpY2F0aW9uIi8+KSBpcyB1c2VkLCBzdGFuZGJ5 IHNlcnZlcnMKQEAgLTQ3NjgsNyArNDc2OSw3IEBAIEFOWSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+bnVtX3N5bmM8L3JlcGxhY2VhYmxlPiAoIDxyZXBsYWNlYWJsZSBjbGFzcz0iCiAg ICAgICBUaGVzZSBzZXR0aW5ncyBjb250cm9sIHRoZSBiZWhhdmlvciBvZiBhCiAgICAgICA8bGlu ayBsaW5rZW5kPSJzdGFuZGJ5LXNlcnZlci1vcGVyYXRpb24iPnN0YW5kYnkgc2VydmVyPC9saW5r PgogICAgICAgdGhhdCBpcwotICAgICAgdG8gcmVjZWl2ZSByZXBsaWNhdGlvbiBkYXRhLiAgVGhl aXIgdmFsdWVzIG9uIHRoZSBwcmltYXJ5IHNlcnZlcgorICAgICAgdG8gcmVjZWl2ZSBwaHlzaWNh bCByZXBsaWNhdGlvbiBkYXRhLiAgVGhlaXIgdmFsdWVzIG9uIHRoZSBwcmltYXJ5IHNlcnZlcgog ICAgICAgYXJlIGlycmVsZXZhbnQuCiAgICAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwgYi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFi aWxpdHkuc2dtbAppbmRleCBhY2YzYWMwNjAxZC4uMzMxZjkwZTQ1MjEgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9oaWdoLWF2YWlsYWJpbGl0eS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9oaWdo LWF2YWlsYWJpbGl0eS5zZ21sCkBAIC0xNTEsNyArMTUxLDcgQEAgcHJvdG9jb2wgdG8gbWFrZSBu b2RlcyBhZ3JlZSBvbiBhIHNlcmlhbGl6YWJsZSB0cmFuc2FjdGlvbmFsIG9yZGVyLgogICAgIDwv cGFyYT4KICAgICA8cGFyYT4KICAgICAgQSBzdGFuZGJ5IHNlcnZlciBjYW4gYmUgaW1wbGVtZW50 ZWQgdXNpbmcgZmlsZS1iYXNlZCBsb2cgc2hpcHBpbmcKLSAgICAgKDx4cmVmIGxpbmtlbmQ9Indh cm0tc3RhbmRieSIvPikgb3Igc3RyZWFtaW5nIHJlcGxpY2F0aW9uIChzZWUKKyAgICAgKDx4cmVm IGxpbmtlbmQ9Indhcm0tc3RhbmRieSIvPikgb3Igc3RyZWFtaW5nIHBoeXNpY2FsIHJlcGxpY2F0 aW9uIChzZWUKICAgICAgPHhyZWYgbGlua2VuZD0ic3RyZWFtaW5nLXJlcGxpY2F0aW9uIi8+KSwg b3IgYSBjb21iaW5hdGlvbiBvZiBib3RoLiBGb3IKICAgICAgaW5mb3JtYXRpb24gb24gaG90IHN0 YW5kYnksIHNlZSA8eHJlZiBsaW5rZW5kPSJob3Qtc3RhbmRieSIvPi4KICAgICA8L3BhcmE+CkBA IC02MjgsNyArNjI4LDcgQEAgcHJvdG9jb2wgdG8gbWFrZSBub2RlcyBhZ3JlZSBvbiBhIHNlcmlh bGl6YWJsZSB0cmFuc2FjdGlvbmFsIG9yZGVyLgogICAgIEluIHN0YW5kYnkgbW9kZSwgdGhlIHNl cnZlciBjb250aW51b3VzbHkgYXBwbGllcyBXQUwgcmVjZWl2ZWQgZnJvbSB0aGUKICAgICBwcmlt YXJ5IHNlcnZlci4gVGhlIHN0YW5kYnkgc2VydmVyIGNhbiByZWFkIFdBTCBmcm9tIGEgV0FMIGFy Y2hpdmUKICAgICAoc2VlIDx4cmVmIGxpbmtlbmQ9Imd1Yy1yZXN0b3JlLWNvbW1hbmQiLz4pIG9y IGRpcmVjdGx5IGZyb20gdGhlIHByaW1hcnkKLSAgICBvdmVyIGEgVENQIGNvbm5lY3Rpb24gKHN0 cmVhbWluZyByZXBsaWNhdGlvbikuIFRoZSBzdGFuZGJ5IHNlcnZlciB3aWxsCisgICAgb3ZlciBh IFRDUCBjb25uZWN0aW9uIChzdHJlYW1pbmcgcGh5c2ljYWwgcmVwbGljYXRpb24pLiBUaGUgc3Rh bmRieSBzZXJ2ZXIgd2lsbAogICAgIGFsc28gYXR0ZW1wdCB0byByZXN0b3JlIGFueSBXQUwgZm91 bmQgaW4gdGhlIHN0YW5kYnkgY2x1c3RlcidzCiAgICAgPGZpbGVuYW1lPnBnX3dhbDwvZmlsZW5h bWU+IGRpcmVjdG9yeS4gVGhhdCB0eXBpY2FsbHkgaGFwcGVucyBhZnRlciBhIHNlcnZlcgogICAg IHJlc3RhcnQsIHdoZW4gdGhlIHN0YW5kYnkgcmVwbGF5cyBhZ2FpbiBXQUwgdGhhdCB3YXMgc3Ry ZWFtZWQgZnJvbSB0aGUKQEAgLTc3Miw2ICs3NzIsMTQgQEAgYXJjaGl2ZV9jbGVhbnVwX2NvbW1h bmQgPSAncGdfYXJjaGl2ZWNsZWFudXAgL3BhdGgvdG8vYXJjaGl2ZSAlcicKICAgICBnZW5lcmF0 ZWQsIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIFdBTCBmaWxlIHRvIGJlIGZpbGxlZC4KICAgIDwv cGFyYT4KIAorICAgPG5vdGU+CisgICAgPHBhcmE+CisgICAgIFRoaXMgZGlzY3Vzc2lvbiBvZiBz dHJlYW1pbmcgcmVwbGljYXRpb24gYXNzdW1lcyBwaHlzaWNhbCByZXBsaWNhdGlvbi4KKyAgICAg QWx0aG91Z2ggeW91IGNvdWxkIHRyZWF0IGEgbG9naWNhbCByZXBsaWNhdGlvbiBzdWJzY3JpYmVy IGFzIGEgd2FybSBzdGFuZGJ5LAorICAgICBpdCB3b3VsZCByZXF1aXJlIHNvbWUgZGlmZmVyZW5j ZXMgdG8gd2hhdCBpcyBkZXNjcmliZWQgaGVyZS4KKyAgICA8L3BhcmE+CisgICA8L25vdGU+CisK ICAgIDxwYXJhPgogICAgIFN0cmVhbWluZyByZXBsaWNhdGlvbiBpcyBhc3luY2hyb25vdXMgYnkg ZGVmYXVsdAogICAgIChzZWUgPHhyZWYgbGlua2VuZD0ic3luY2hyb25vdXMtcmVwbGljYXRpb24i Lz4pLCBpbiB3aGljaCBjYXNlIHRoZXJlIGlzCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbG9n aWNhbGRlY29kaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbG9naWNhbGRlY29kaW5nLnNnbWwKaW5k ZXggMWM0YWUzOGYxYjkuLjcwNmYwZWE2ZmJhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbG9n aWNhbGRlY29kaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWxkZWNvZGluZy5zZ21s CkBAIC0yNzUsOSArMjc1LDkgQEAgcG9zdGdyZXM9IyBzZWxlY3QgKiBmcm9tIHBnX2xvZ2ljYWxf c2xvdF9nZXRfY2hhbmdlcygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlUKICAgICA8L3BhcmE+ CiAKICAgICA8bm90ZT4KLSAgICAgPHBhcmE+PHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1 Y3RuYW1lPiBhbHNvIGhhcyBzdHJlYW1pbmcgcmVwbGljYXRpb24gc2xvdHMKLSAgICAgKHNlZSA8 eHJlZiBsaW5rZW5kPSJzdHJlYW1pbmctcmVwbGljYXRpb24iLz4pLCBidXQgdGhleSBhcmUgdXNl ZCBzb21ld2hhdAotICAgICBkaWZmZXJlbnRseSB0aGVyZS4KKyAgICAgPHBhcmE+PHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBjYW4gYWxzbyB1c2Ugc3RyZWFtaW5nIHJlcGxp Y2F0aW9uIHNsb3RzCisgICAgIHRvIG1haW50YWluIGEgc3RhbmRieSBzZXJ2ZXIgKHNlZSA8eHJl ZiBsaW5rZW5kPSJzdHJlYW1pbmctcmVwbGljYXRpb24iLz4pLCBidXQKKyAgICAgdHlwaWNhbGx5 IHRob3NlIHVzZSBwaHlzaWNhbCByZXBsaWNhdGlvbiwgbm90IGxvZ2ljYWwuCiAgICAgIDwvcGFy YT4KICAgICA8L25vdGU+CiAKLS0gCjIuNDUuMAoK --00000000000070c77b06243b5cf2--