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 1utLRT-005Ip5-Iy for pgsql-docs@arkaria.postgresql.org; Tue, 02 Sep 2025 07:28:36 +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 1utLRS-002QfY-Mk for pgsql-docs@arkaria.postgresql.org; Tue, 02 Sep 2025 07:28:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1utLRS-002QfQ-Az for pgsql-docs@lists.postgresql.org; Tue, 02 Sep 2025 07:28:34 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1utLRR-0007VX-04 for pgsql-docs@lists.postgresql.org; Tue, 02 Sep 2025 07:28:33 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-45b873a2092so21977975e9.1 for ; Tue, 02 Sep 2025 00:28:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1756798111; x=1757402911; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=fpf8KbKOMrLGZVb6MM3NLsfohU6zm2QGHZkKqyID4Hc=; b=UCVtnPWw69eLBmkFGkYOccnNtupW0L0O+3NXdIz2nTHu0Z917RJflHGBltfpDtauzP ysbhOFNmpzK0h1EsiPrxXzwWhhYDu4QE953WYpVpnWUxM4CxaPXZtjOy7ttWAMCYuQ6R W/aLryon4PcOGWN3J+7IurO/Iwai/kWLlhfzE3KOr4lbB1f9jXMurWO/1t/v+laGT/cF 6yxx+pRswkWtXUwtnVxMj0LLoD9TJAa9qdt7dAR/px15SBczfwmHdSPBnUsSvKNFUXFr IyxjkS1t8Q/HXf4LdNWT3pdmSa6srr+NbMAfo0051kJGrUWcioACY8J/PmGpVCUN6y3A UrUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756798111; x=1757402911; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fpf8KbKOMrLGZVb6MM3NLsfohU6zm2QGHZkKqyID4Hc=; b=OxDddN5qPZ0aDOEOV8pl9DG+GPJpqyfwHYfsNSOkFhh3HNYXujf2mMm1wgJtODrDqb XpFTPwS0RwO5S3B96RLaG4sBTxnvvG5ofd/qGkEJ+IhmKG6QxAvohPOodTeDWF/cVcv3 RFlKXl3hAuIsXuDfoEenKZ0FVxYuUNlbtbTXUtRZL/2LEu+lEjfiZsTuBsoLz5bw5inD 8bjHtrZHCyj5f7zifm7IxTBFHdlZRpU1+h71vFNdByRZ8R7YIybHMOnvHtUl70QcLrHS MFrqtUgv7m5Xtbb2Ytpuxnh6OzlN8RfNXkprxD0CQYJwaRwa1fReGUPwwET5a2GUGSa6 yP1Q== X-Forwarded-Encrypted: i=1; AJvYcCUAL3qguIhrvWGMoxN1ySxC8vX5A9pm9+2GNWF6hkCh6nyQh4sgCM0UVUgmuqDGuQzmIvvkAJy5k7E3@lists.postgresql.org X-Gm-Message-State: AOJu0YxAbbWI4NZ+QdXZ9hZsDbSc1JwKssnTgS9fWc9Ga1cniAE2Gqlq oxDXvGBWKXTiom23CHkw/OfGQDSeqzD6t2YEcbEnpPG1gm5vQeCdZbfgbaADcFOzrK8R6O0TMHm iJgozI5A= X-Gm-Gg: ASbGncsuqa2cnCRsIIZR2HYMIFg+cUUnZHBuu6mD0tcK21Ice3Dhq7ynmmC9+U/bWsa wjgD75txcTa0KR9p/N9VXQeBQyhuAa4+6zPznehqlqcWYfPeFJjfdhDqjoaoV/yMo8Iqrs02JbA 1GyQLZjBVJ6sx//ke/7rDDIF+NGNegYetCcE3/c9FFKTfamsug5PxfHLZ8WjbiYDQASpaHmDQ4A j1MXK07FeyWUy0Z7OxrUWELDXST8puAyTEzneFmo8VytW207SdwJsc1/8R+qFlRMAnY0xkOgHOc 6tLvRSmGeV+RkxGwrC5oNzIy8y+nmLl12BqejN0yG+QZ7EBAOxFuIR6XoW1YluqcNPg9W7sm+IU Jsr5osZ7fXU2Fz4ROUMLY7QX3XTdXuQZGBDhCgOc+fjkPpCvSkZ32B7ds+lu60Q0FkHN93vyOgY Y= X-Google-Smtp-Source: AGHT+IGgDisaRx8zKpvVtAiT9DdEVU+TUlj/L0MnOb5z6/8D1lyhevoucaKiG+KUdZ5VsxPsvd2xuw== X-Received: by 2002:a05:600c:3545:b0:43c:fe5e:f03b with SMTP id 5b1f17b1804b1-45b8557c89dmr99276235e9.30.1756798111339; Tue, 02 Sep 2025 00:28:31 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:260:4d40:896e:d702:196e:5a83]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45b7e887fdcsm187359085e9.13.2025.09.02.00.28.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Sep 2025 00:28:30 -0700 (PDT) Message-ID: Subject: Re: Inaccurate statement about log shipping replication mode From: Laurenz Albe To: Michael Paquier Cc: artem.gavrilov@percona.com, pgsql-docs@lists.postgresql.org Date: Tue, 02 Sep 2025 09:28:30 +0200 In-Reply-To: References: <175578964049.806.14564779365418625473@wrigleys.postgresql.org> <568ff8638e011b2726d06a4b95124ec51ee1e5af.camel@cybertec.at> Content-Type: multipart/mixed; boundary="=-LtBHAOlsxAT6VZUzBhvI" User-Agent: Evolution 3.56.2 (3.56.2-1.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-LtBHAOlsxAT6VZUzBhvI Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2025-09-01 at 08:20 +0900, Michael Paquier wrote: > On Wed, Aug 27, 2025 at 02:13:21PM +0200, Laurenz Albe wrote: > > Here is a patch for that. > > --- a/doc/src/sgml/high-availability.sgml > > +++ b/doc/src/sgml/high-availability.sgml > > @@ -527,8 +527,8 @@ protocol to make nodes agree on a serializable tran= sactional order. > > > > =20 > > > > - It should be noted that log shipping is asynchronous, i.e., the WAL > > - records are shipped after transaction commit. As a result, there is= a > > + It should be noted that log shipping is asynchronous, i.e., the pri= mary server does > > + not wait until the standby receives the data. As a result, there i= s a > > window for data loss should the primary server suffer a catastrophi= c > > failure; transactions not yet shipped will be lost. The size of th= e > > data loss window in file-based log shipping can be limited by use o= f the >=20 > Yep, the original statement is rather inexact. Now, your new wording > does not make me really comfortable with the case of cascading stanbys > in scope, because the asynchronous property applies to them all the > time. >=20 > Hmm. I'd suggest to use a simpler reformulatione, like this one to > outline that there is no relationship between the timing of a > transaction commit and the timing where the commit records are flushed > on a standby server: > It should be noted that log shipping is asynchronous, i.e., the WAL > records may be shipped after transaction commit. That is a less invasive change and probably preferable. The attached patch does it like you suggested. I noticed that the paragraph speaks about the asynchronicity of replication and the potential of data loss, so I couldn't resist the temptation to add a remark that synchronous streaming replication can avoid that problem. Yours, Laurenz Albe --=-LtBHAOlsxAT6VZUzBhvI Content-Disposition: attachment; filename="v2-0001-Fix-doc-defining-asynchronous-replication.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v2-0001-Fix-doc-defining-asynchronous-replication.patch"; charset="UTF-8" RnJvbSAyMjFlODZiMmE4MjFiNGYwZDgxMjQ0OGZiZTg3OWRmMjQyYzZjYTA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogVHVlLCAyIFNlcCAyMDI1IDA5OjI0OjA2ICswMjAwClN1YmplY3Q6IFtQQVRDSCB2 Ml0gRml4IGRvYyBkZWZpbmluZyBhc3luY2hyb25vdXMgcmVwbGljYXRpb24KClRoZSBzdGF0ZW1l bnQgd2FzIGZhY3R1YWxseSB3cm9uZzogV0FMIHJlY29yZHMgY2FuIGdldCBzaGlwcGVkCnRvIHRo ZSBzdGFuZGJ5IGJlZm9yZSB0aGUgdHJhbnNhY3Rpb24gY29tbWl0cy4gIFRoZSBrZXkgcG9pbnQK aXMgdGhhdCB0aGUgcHJpbWFyeSBkb2VzIG5vdCB3YWl0IGZvciB0aGUgc3RhbmRieS4KClNpbmNl IHRoZSBwYXJhZ3JhcGggc3RyZXNzZXMgdGhlIHBvdGVudGlhbCBkYXRhIGxvc3MsIGFkZCBhCnJl bWFyayB0aGF0IHN5bmNocm9ub3VzIHJlcGxpY2F0aW9uIGNhbiBiZSB1c2VkIHRvIGF2b2lkIHRo YXQKcHJvYmxlbS4KCkF1dGhvcjogTGF1cmVueiBBbGJlIDxsYXVyZW56LmFsYmVAY3liZXJ0ZWMu YXQ+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vMTc1NTc4OTY0MDQ5LjgwNi4xNDU2 NDc3OTM2NTQxODYyNTQ3M0B3cmlnbGV5cy5wb3N0Z3Jlc3FsLm9yZwotLS0KIGRvYy9zcmMvc2dt bC9oaWdoLWF2YWlsYWJpbGl0eS5zZ21sIHwgNyArKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9o aWdoLWF2YWlsYWJpbGl0eS5zZ21sIGIvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNn bWwKaW5kZXggYjQ3ZDhiNDEwNmUuLjA0MWNhYmEyMzlkIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFi aWxpdHkuc2dtbApAQCAtNTI4LDcgKzUyOCw3IEBAIHByb3RvY29sIHRvIG1ha2Ugbm9kZXMgYWdy ZWUgb24gYSBzZXJpYWxpemFibGUgdHJhbnNhY3Rpb25hbCBvcmRlci4KIAogICA8cGFyYT4KICAg IEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IGxvZyBzaGlwcGluZyBpcyBhc3luY2hyb25vdXMsIGku ZS4sIHRoZSBXQUwKLSAgIHJlY29yZHMgYXJlIHNoaXBwZWQgYWZ0ZXIgdHJhbnNhY3Rpb24gY29t bWl0LiBBcyBhIHJlc3VsdCwgdGhlcmUgaXMgYQorICAgcmVjb3JkcyBtYXkgYmUgc2hpcHBlZCBh ZnRlciB0cmFuc2FjdGlvbiBjb21taXQuICBBcyBhIHJlc3VsdCwgdGhlcmUgaXMgYQogICAgd2lu ZG93IGZvciBkYXRhIGxvc3Mgc2hvdWxkIHRoZSBwcmltYXJ5IHNlcnZlciBzdWZmZXIgYSBjYXRh c3Ryb3BoaWMKICAgIGZhaWx1cmU7IHRyYW5zYWN0aW9ucyBub3QgeWV0IHNoaXBwZWQgd2lsbCBi ZSBsb3N0LiAgVGhlIHNpemUgb2YgdGhlCiAgICBkYXRhIGxvc3Mgd2luZG93IGluIGZpbGUtYmFz ZWQgbG9nIHNoaXBwaW5nIGNhbiBiZSBsaW1pdGVkIGJ5IHVzZSBvZiB0aGUKQEAgLTUzNiw3ICs1 MzYsMTAgQEAgcHJvdG9jb2wgdG8gbWFrZSBub2RlcyBhZ3JlZSBvbiBhIHNlcmlhbGl6YWJsZSB0 cmFuc2FjdGlvbmFsIG9yZGVyLgogICAgYXMgYSBmZXcgc2Vjb25kcy4gIEhvd2V2ZXIgc3VjaCBh IGxvdyBzZXR0aW5nIHdpbGwKICAgIHN1YnN0YW50aWFsbHkgaW5jcmVhc2UgdGhlIGJhbmR3aWR0 aCByZXF1aXJlZCBmb3IgZmlsZSBzaGlwcGluZy4KICAgIFN0cmVhbWluZyByZXBsaWNhdGlvbiAo c2VlIDx4cmVmIGxpbmtlbmQ9InN0cmVhbWluZy1yZXBsaWNhdGlvbiIvPikKLSAgIGFsbG93cyBh IG11Y2ggc21hbGxlciB3aW5kb3cgb2YgZGF0YSBsb3NzLgorICAgYWxsb3dzIGEgbXVjaCBzbWFs bGVyIHdpbmRvdyBvZiBkYXRhIGxvc3MsIGFuZCBzeW5jaHJvbm91cyBzdHJlYW1pbmcKKyAgIHJl cGxpY2F0aW9uIChzZWUgPHhyZWYgbGlua2VuZD0ic3luY2hyb25vdXMtcmVwbGljYXRpb24iLz4p IGNhbgorICAgZ3VhcmFudGVlIHRoYXQgbm8gdHJhbnNhY3Rpb24gaXMgcmVwb3J0ZWQgYXMgY29t bWl0dGVkIGJlZm9yZSB0aGUKKyAgIFdBTCByZWNvcmRzIGhhdmUgcmVhY2hlZCB0aGUgc3RhbmRi eSBzZXJ2ZXIuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KLS0gCjIuNTEuMAoK --=-LtBHAOlsxAT6VZUzBhvI--