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 1rkHpr-00Bibf-Mu for pgsql-hackers@arkaria.postgresql.org; Wed, 13 Mar 2024 06:11:32 +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 1rkHpq-00CBCn-Au for pgsql-hackers@arkaria.postgresql.org; Wed, 13 Mar 2024 06:11:30 +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 1rkHpp-00CB87-CT for pgsql-hackers@lists.postgresql.org; Wed, 13 Mar 2024 06:11:30 +0000 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rkHpk-004FPE-W4 for pgsql-hackers@lists.postgresql.org; Wed, 13 Mar 2024 06:11:28 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 8D9BD32002B6; Wed, 13 Mar 2024 02:11:21 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute2.internal (MEProxy); Wed, 13 Mar 2024 02:11:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1710310281; x=1710396681; bh=4Yz4wF4l/3 y1lBkmYR76A9OglPsFxTr8hioC4vuW+5U=; b=q1tPtwAglcdUkXG3kBM8vm4VNE RFY9FHAstSwZwBmAvLE3OydeEXI9qbSkPlcCEkJO/C3DbibWAsCaQVikLAEfQKuv +Dpe4jKa5wWII3aK0pRdrKWVdAvwFJb2vipTOd13MZdRi3z90lrnu7BGHyfbYzHW vDgkVXzN28KfwDbQfL7AFItwzpPfRgXCwf1e8jZbsCLHm7klYpjclr6wTlAHdxDz Mp+5qYIpaxB5njij3gUEWEmfLZN1tSkbuH/G2YvzF9uBefSj6vu6Whb82iBFYqbW 8Oqtw8UZePdKtx0M2c29YSayyr5rp5KkcPn77bdet8T839yhu2BfJqDR1Xeg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1710310281; x=1710396681; bh=4Yz4wF4l/3y1lBkmYR76A9OglPsF xTr8hioC4vuW+5U=; b=Lw7HbuXh+AWgZ1eBe9ah/kYWXbdOAevrW5UX45jhecSh jjS0uBtxW+16NtdrktGVLAcVoTdxd4rRSJZv8dy4JkiK6v5wGoqrQq0bWczlQL5C m35yTOvTZH6kJYv0ddPznU70coKlcVOF0ONNqGwHoMtVeYNd4cIN+E+eV7TG+yfd n/auzpGJzd5xc0QgJvXdfOZmcPPK5IftmJSMKxFNUKxjObyAwJStj5lIAOG9ZNLP E8N2YtryBNeHw4lP8H4ZytTDK4NyWcQjyXhyBoqrMSJbaD/Qp6b8c1Og8zPrV6M6 RoQrM2+AfBJAIYUO6BX8u5Lk3wdAjxiPd9eswHhpKw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrjeeggdelfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgesmhdtreerreertdenucfhrhhomhepfdfguhhl vghrucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhlvghrthhordgtohhmqeenucggtf frrghtthgvrhhnpeeiheeuledvvdejteejieduteefgefhgfeftdeggfekhefgueetieek veduieetgfenucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgpdgvnhhtvghrph hrihhsvggusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpegvuhhlvghrsegvuhhlvghrthhordgtohhm X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 82B5615A0092; Wed, 13 Mar 2024 02:11:20 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-251-g8332da0bf6-fm-20240305.001-g8332da0b MIME-Version: 1.0 Message-Id: In-Reply-To: References: <9a9c7e65-c47b-4400-a63e-ac6169c0860e@app.fastmail.com> <34075bd4-c85d-4654-a782-0cd6713b2c89@app.fastmail.com> <2edde173-5ff9-45fd-b881-cd04eb13049f@app.fastmail.com> <2231a04b-f2d4-4a4e-b5cd-56be8b002427@app.fastmail.com> <40595e73-c7e1-463a-b8be-49792e870007@app.fastmail.com> <6423dfeb-a729-45d3-b71e-7bf1b3adb0c9@enterprisedb.com> Date: Wed, 13 Mar 2024 03:10:21 -0300 From: "Euler Taveira" To: "kuroda.hayato@fujitsu.com" , "Tomas Vondra" Cc: "pgsql-hackers@lists.postgresql.org" , "Michael Paquier" , "Peter Eisentraut" , "Andres Freund" , "Ashutosh Bapat" , "Amit Kapila" , "Shlok Kyal" , =?UTF-8?Q?Fabr=C3=ADzio_de_Royes_Mello?= , "vignesh C" Subject: Re: speed up a logical replica setup Content-Type: multipart/mixed; boundary=e6c7cb6cab2b497f84efbdab62f577c9 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --e6c7cb6cab2b497f84efbdab62f577c9 Content-Type: multipart/alternative; boundary=73639390465c4a218d83f413ebc311a7 --73639390465c4a218d83f413ebc311a7 Content-Type: text/plain On Fri, Mar 8, 2024, at 6:44 AM, Hayato Kuroda (Fujitsu) wrote: > Hmm, right. I considered below improvements. Tomas and Euler, how do you think? I'm posting a new patchset v28. I changed the way that the check function works. From the usability perspective, it is better to test all conditions and reports all errors (if any) at once. It avoids multiple executions in dry run mode just to figure out all of the issues in the initial phase. I also included tests for it using Shlok's idea [1] although I didn't use v27-0004. Shlok [1] reported that it was failing on Windows since the socket-directory option was added. I added a fix for it. Tomas pointed out the documentation [2] does not provide a good high level explanation about pg_createsubscriber. I expanded the Description section and moved the prerequisites to Nodes section. The prerequisites were grouped into target and source conditions on their own paragraph instead of using a list. It seems more in line with the style of some applications. As I said in a previous email [3], I removed the retain option. [1] https://www.postgresql.org/message-id/CANhcyEU4q3Dwh9aX9BPOjcm4EbbhyfeNeGOAz8xfGyJMcpZfjw@mail.gmail.com [2] https://www.postgresql.org/message-id/6423dfeb-a729-45d3-b71e-7bf1b3adb0c9%40enterprisedb.com [3] https://www.postgresql.org/message-id/e390e35e-508e-4eb8-92e4-e6b066407a41%40app.fastmail.com -- Euler Taveira EDB https://www.enterprisedb.com/ --73639390465c4a218d83f413ebc311a7 Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Fri, Mar 8, = 2024, at 6:44 AM, Hayato Kuroda (Fujitsu) wrote:
Hmm, right. I considered below imp= rovements. Tomas and Euler, how do you think?

I'm posting a new patchset v28.

=
I changed the way that the check function works. From the usability=
perspective, it is better to test all conditions and repo= rts all errors (if
any) at once. It avoids multiple execut= ions in dry run mode just to figure out
all of the issues = in the initial phase. I also included tests for it using
S= hlok's idea [1] although I didn't use v27-0004.

=
Shlok [1] reported that it was failing on Windows since the socket-= directory
option was added. I added a fix for it.

Tomas pointed out the documentation [2] does not pr= ovide a good high level
explanation about pg_createsubscri= ber. I expanded the Description section and
moved the prer= equisites to Nodes section. The prerequisites were grouped into
target and source conditions on their own paragraph instead of usi= ng a list. It
seems more in line with the style of some ap= plications.

As I said in a previous email [= 3], I removed the retain option.


=


--
Euler Taveira

--73639390465c4a218d83f413ebc311a7-- --e6c7cb6cab2b497f84efbdab62f577c9 Content-Disposition: attachment; filename*0="v28-0001-pg_createsubscriber-creates-a-new-logical-replic.pat"; filename*1="ch.gz" Content-Type: application/gzip; name="=?UTF-8?Q?v28-0001-pg=5Fcreatesubscriber-creates-a-new-logical-replic.pa?= =?UTF-8?Q?tch.gz?=" Content-Transfer-Encoding: BASE64 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 Vnc2vt3a2Fld/b+Zfx/oKG4BAA== --e6c7cb6cab2b497f84efbdab62f577c9 Content-Disposition: attachment; filename*0="v28-0002-Use-last-replication-slot-position-as-replicatio.pat"; filename*1="ch.gz" Content-Type: application/gzip; name="=?UTF-8?Q?v28-0002-Use-last-replication-slot-position-as-replicatio.patc?= =?UTF-8?Q?h.gz?=" Content-Transfer-Encoding: BASE64 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 3Sltn645YPXafbfds6z/AUilGNsXHgAA --e6c7cb6cab2b497f84efbdab62f577c9 Content-Disposition: attachment; filename*0="v28-0003-port-replace-int-with-string.patch.gz" Content-Type: application/gzip; name="=?UTF-8?Q?v28-0003-port-replace-int-with-string.patch.gz?=" Content-Transfer-Encoding: BASE64 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 --e6c7cb6cab2b497f84efbdab62f577c9--