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 1uti3Q-00D5SW-Ir for pgsql-docs@arkaria.postgresql.org; Wed, 03 Sep 2025 07:37:17 +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 1uti3P-007wOC-NI for pgsql-docs@arkaria.postgresql.org; Wed, 03 Sep 2025 07:37:16 +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 1uti3P-007wO3-FC for pgsql-docs@lists.postgresql.org; Wed, 03 Sep 2025 07:37:15 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uti3K-000JOr-1J for pgsql-docs@lists.postgresql.org; Wed, 03 Sep 2025 07:37:15 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-6188b6f501cso7342291a12.2 for ; Wed, 03 Sep 2025 00:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1756885030; x=1757489830; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=FGkGibxDOgPKPs3C0XzEiUjb5vpNCgBMdq8REY5tLyw=; b=cV8x6rx7zFOizWAH/dA80JfUkMT1CRnh2pxvp1tKJ/yEARjQ3u2ZRtjg7tV6fEQSeM kga1r3kRJrEB46XrC/k1icCfptbvS5PxW+lsFw6k8W5gRiD0WySN/dinEhNxMlIO/+HS y8z/GIqA0kIUrMUQ0JutP6g2tPohEBVuZqR668XVatDwFgc3auITlDYTj3m5BnIoE5X2 7dsoSS1ZkUS2KITmyPtkI2dwrRqmtBsa9hsrVf+G2JABgkm+JB59+0zNo27l0DnjGgd0 xPZTKieWFnAJ3s6v3zR/Nivqyh8/LZW3yJXCEsvG5ERInONtQuhEpdB8GLNFefqFAHA0 XE2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756885030; x=1757489830; h=mime-version:user-agent:content-transfer-encoding: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=FGkGibxDOgPKPs3C0XzEiUjb5vpNCgBMdq8REY5tLyw=; b=RaXnmjqjnu+mJ9d1nSmFztzK2H3tWkBkBlRfWQYLRxly8kX2D6GGP7GOkXPgyelXdr UNbhN9LFSi5u0tIAfp3Amdo8u7FZQKIjs2armj3G9XRrD1d/CpCjyy7Qkt8Ll/srA8Ke OPEp5qZ9Uzj/zs0F633DxuL8ZF4noPpcFyclh9AwYYRZbH8LiKU4fBEYL0JW3XaLssq2 JWGL2fKi3JcgSF9v0H869ttVB1qvcGpLMpeR150zOjE4FfOydYYftaUY9vWp4GJul1gG QgV1oU8W22HYEf0eOyzISspXPSNSw10K0tBhV1gyfa3aRGgcli2/3HL18Bf01OU53n0j hKTA== X-Forwarded-Encrypted: i=1; AJvYcCX8OfpmzmsrEMjgB3IimZRLc9sDVjV3abs0JvJdoVM738+0wZUew3UtSM42nhESbhVWV9ZztuBd+145@lists.postgresql.org X-Gm-Message-State: AOJu0YwXd5wR50lWlmyREEuiUyVnXHPan9K/B2oVkLtUd6/f91AUxwE9 JbHKB3T485Id33j7VJbaLVcQPPZ0Ke+e3xpQRqVlwg6Rom1vdJY6aWQEe6ptyElurMc= X-Gm-Gg: ASbGncujzZQp1JVJdZeA+qgzX/7LS9mPUr8dOJ1ic/Fiq1ZeQxuXpUoiqDI663CBmhz aG3teGaEqgyKkfQ9qtUc5SfLHV1u12YWKPzva2Cyou8i5k7PC6L6stLvjGmhM5YBjXA+0d2b5zY 2ZkTS2o/idz9iGRRC5Zr07pihwzQcnQQuWTrGT7AGOEhCP63tptMQVwC07OXCB14g7WwR0WrNL0 ULh1Q73kU+IeihNU/c/sxM4RcNuBMB6XGYDWxYhGljirNHd85x2zB6o+cEQCe7g3lDuEJz9SDPx ThnVRnOPttd1iKug7P7W31Hc/QMowW+Qq65QUYK6f2B+9BVhd5VcMF8GUIBBug9w1/lxrIZHJwg 6ArSSfePNiVc3iIq9A5cIS6s3BAlvazyFJSE700j1q49k6Z/3kUZQfpqlzoGkTqoK X-Google-Smtp-Source: AGHT+IGI3h3pWG8W5wR7MQOaz2Xqj9PuBV93tkhzLeJhmFFDkdkllsoKP3KX979t02N5M6yAwWnhYQ== X-Received: by 2002:a05:6402:50cd:b0:61d:3bca:f2fc with SMTP id 4fb4d7f45d1cf-61d3bcaf6c0mr10552251a12.31.1756885030049; Wed, 03 Sep 2025 00:37:10 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:260:4d40:896e:d702:196e:5a83]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-61cfc579ba9sm11105939a12.52.2025.09.03.00.37.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Sep 2025 00:37:09 -0700 (PDT) Message-ID: <6b9a99cd3fc0fb7657b6884552fd5b4744bb234a.camel@cybertec.at> Subject: Re: Inaccurate statement about log shipping replication mode From: Laurenz Albe To: Robert Treat Cc: Artem Gavrilov , Michael Paquier , pgsql-docs@lists.postgresql.org Date: Wed, 03 Sep 2025 09:37:08 +0200 In-Reply-To: References: <175578964049.806.14564779365418625473@wrigleys.postgresql.org> <568ff8638e011b2726d06a4b95124ec51ee1e5af.camel@cybertec.at> <93913aeb398b264ca0dc781095d36d6ad2d3be71.camel@cybertec.at> <60948f2ce0f59a8406208e8feabe667f170e8676.camel@cybertec.at> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 On Tue, 2025-09-02 at 11:10 -0400, Robert Treat wrote: > I think the issue here is that this section is supposed to focus on > continuous archiving / file based WAL shipping, which is asynchronous. > All of the complexity that is being discussed in this thread is really > about WAL streaming, which IMO should not be discussed here. Per the > docs, "Record-based log shipping is more granular and streams WAL > changes incrementally over a network connection (see Section 26.2.5)." Chapter 26.2. is "Log-Shipping Standby Servers". The first line seems to confirm what you are saying: Continuous archiving can be used to create a high availability (HA) cluster configuration with one or more standby servers ready to take over operations if the primary server fails. This capability is widely referred to as warm standby or log shipping. But one of the subsections is 26.2.5. "Streaming Replication", which suggests that streaming replication is a kind of log shipping. > I actually think the thing that is wrong (or at least confusing) in > the docs is this line "Directly moving WAL records from one database > server to another is typically described as log shipping." because it > is too loose with its definition. I don't recall postgres people > referring to streaming replication as "wal shipping", that term is > pretty exclusively used for continuous archiving. If you look in the > aforementioned 26.2.5. Streaming Replication, the term "shipping" is > only ever used in conjunction with the phrase "file-based log > shipping". >=20 > So with that said, I would suggest fixing this by changing the first > sentence of paragraph 4 to "It should be noted that file based log > shipping is asynchronous", as this also emphasizes that this section > is focused on file based wal shipping. >=20 > A larger fix would likely involve reworking this section to start with > defining log shipping and how it is used in Postgres, and then > continuing with the file based specific info (something like moving > the third paragraph to the beginning and then editing things for > clarity / readability). I could work up a patch for that if people > were interested. I agree that it is a worthwhile goal to clarify the terms, and I think that the whole chapter should be reorganized: Sections 26.2.5. to 26.2.9. should be moved to a new chapter 26.3. "Streaming Replication" (which will renumber the present 26.3. and 26.4.). Perhaps "WAL shipping" would be a better term, with "WAL streaming" as alternative. But that would be a bigger endeavour that would require going over bigger parts of the documentation. If you want to do that, I'd be happy to review it. But I think that the factually wrong statement that my patch tries to address should get fixed first - who knows how long the bigger patch would take. I am OK with Michael's suggestion to just remove the wrong line, although it wouldn't be bad to have an explanation of what we mean by "asynchronous" here. Yours, Laurenz Albe