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 1sehTS-00Arvd-Hd for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Aug 2024 20:53:34 +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 1sehTR-001Dfd-7H for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Aug 2024 20:53:33 +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 1sehTQ-001DfV-NY for pgsql-hackers@lists.postgresql.org; Thu, 15 Aug 2024 20:53:32 +0000 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sehTO-0052nU-Ct for pgsql-hackers@lists.postgresql.org; Thu, 15 Aug 2024 20:53:32 +0000 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-260f1664fdfso853597fac.1 for ; Thu, 15 Aug 2024 13:53:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mixrank-com.20230601.gappssmtp.com; s=20230601; t=1723755208; x=1724360008; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=m9Jli6W/OJaAIi2wj+Pesz+7pn8Wfn98hJ1BaW+hYC4=; b=fG7YT9sC0KLTqx6oMvdN+hMQe9RqNYYXxiTLdnhffXHfS0RwOT3l0klxQd0pYj7VH1 oGsqmVHR0V2IksQeleWRWkSTtVnFJJsRQB5INi30pep50Z43TpJmQqj4LlL8hip+/3/a nymWN8k3R/Wo6AAVBqQxoO8LTqeZFjsP8pIfOYAdK48dr7DDNpIaWscGPlsmoJM8JVVM zwZLBIuD8ZUDDzZnU0zk+GMpyXwfzwU9bKMrB0xZOZK4lWWa/BNTuQHgDqrU81Emb/hO sdwm5REINhglGiWySWgMu0gkyEsQ00Nu89kCgVORIHI/9Qicrwklv2ONu24+ZaC8zy/Q gH4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723755208; x=1724360008; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=m9Jli6W/OJaAIi2wj+Pesz+7pn8Wfn98hJ1BaW+hYC4=; b=b/8zPB2X5W0j7/u5TU41Dn6cmpiwVjdbT74og3UwF/b5+vIu0+It/Ez9YY6k/WYAwQ 2RfNLpgC104WA0sRScPveZF6S6G6yc7aVOkhEijwAk+zcr50WwVWSKPGRjY9wA3X5gfE pWloei+Ck4zHiXdwKVebhSNPprnyBlv1o9c9jL1v07C4TDVW7U2lSTILOfYqMAbW9ST6 jID6uzNyeksLLojS7yfvXMv1YJo3TTAcCjLSWnWkKBmd8RJ5C3L0OErMvWIwywRXJlhm c0AEWynf1zCS0n14aHyYzT0XpaGpPjgbnJt495yr5BCX3WLwhvwpFzMLBLpGn8QTE24G OKbA== X-Gm-Message-State: AOJu0Yy4PqfbGUKGDiehz5Aq10Glq9grvcjEpJ8m26Vv3nQBPI47+LqL 4td7XCNERMTEid/C3AccyrPqZeKJhqxV9NPnWATCkKYIzEK0ltjO+ZczXWV+zvWkDd8E6l2+B4F 1m1fa5METaebT10ksI/DGydqXT5S0D1Rn5Ec5qIXMNLnlvjG42ek= X-Google-Smtp-Source: AGHT+IHfA9siArqcOnjwYCUVh47c2fAGDbGYcqtzBQIB7wQKz8qYxAmwORTIJy4Mzpwtx2DHZ3ouGRE5j68HN3wnzBY= X-Received: by 2002:a05:6871:3326:b0:261:88b:36fe with SMTP id 586e51a60fabf-2701c37eb46mr878811fac.15.1723755208174; Thu, 15 Aug 2024 13:53:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Doruk Yilmaz Date: Thu, 15 Aug 2024 23:53:17 +0300 Message-ID: Subject: Re: [Patch] add new parameter to pg_replication_origin_session_setup To: Euler Taveira Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000dd2071061fbf08e3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000dd2071061fbf08e3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello again, On Tue, Aug 13, 2024 at 12:48=E2=80=AFAM Euler Taveira = wrote: > I'm curious about your use case. Is it just because the internal function= has a > different signature or your tool is capable of apply logical replication = changes > in parallel using the SQL API? The latter is correct, it applies logical replication changes in parallel. Since multiple connections may commit, we need all of them to be able to advance the replication origin. > * no documentation changes. Since the function you are changing has a new > signature, this change should be reflected in the documentation. > * no need for a new internal function. The second parameter (PID) can be > optional and defaults to 0 in this case. See how we changed the > pg_create_logical_replication_slot along the years add some IN parameters= like > twophase and failover in the recent versions. I updated/rewrote the patch to reflect these suggestions. It now has the same DEFAULT 0 style used in pg_create_logical_replication_s= lot. I also updated the documentation. > * add a CF entry [1] for this patch so we don't forget it. Another advant= age is > that this patch is covered by CI [2][3]. Sadly I still can't log in to the Commitfest due to the cool-off period. I will create an entry as soon as this period ends. Thanks for all the feedback, Doruk Y=C4=B1lmaz --000000000000dd2071061fbf08e3 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-pg_replication_origin_session_setup-new-parameter.patch" Content-Disposition: attachment; filename="v2-0001-pg_replication_origin_session_setup-new-parameter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzvr8i1i0 RnJvbSBiOWM1NGYzZDIxN2Y2N2MyNGNlNzRmZmE3YzFmMjgxMmQ3ODQzMzNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEb3J1ayA8ZG9ydWtAbWl4cmFuay5jb20+CkRhdGU6IFRodSwg MTUgQXVnIDIwMjQgMjM6MzQ6MjYgKzAzMDAKU3ViamVjdDogW1BBVENIXSBhZGQgbmV3IHBhcmFt ZXRlciB0byBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cAoKLS0tCiBkb2Mvc3Jj L3NnbWwvZnVuYy5zZ21sICAgICAgICAgICAgICAgICAgIHwgMiArLQogc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbCB8IDkgKysrKysrKystCiBzcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jIHwgOCArKysrKy0tLQogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdCAgICAgICAgICB8IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZnVuYy5z Z21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAppbmRleCA1ZGQ5NWQ3M2ExLi43ZGI1YThlZDUy IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9m dW5jLnNnbWwKQEAgLTI5NDg2LDcgKzI5NDg2LDcgQEAgREVUQUlMOiAgTWFrZSBzdXJlIHBnX3dh bF9yZXBsYXlfd2FpdCgpIGlzbid0IGNhbGxlZCB3aXRoaW4gYSB0cmFuc2FjdGlvbiB3aXRoIGEK ICAgICAgICAgPGluZGV4dGVybT4KICAgICAgICAgIDxwcmltYXJ5PnBnX3JlcGxpY2F0aW9uX29y aWdpbl9zZXNzaW9uX3NldHVwPC9wcmltYXJ5PgogICAgICAgICA8L2luZGV4dGVybT4KLSAgICAg ICAgPGZ1bmN0aW9uPnBnX3JlcGxpY2F0aW9uX29yaWdpbl9zZXNzaW9uX3NldHVwPC9mdW5jdGlv bj4gKCA8cGFyYW1ldGVyPm5vZGVfbmFtZTwvcGFyYW1ldGVyPiA8dHlwZT50ZXh0PC90eXBlPiAp CisgICAgICAgIDxmdW5jdGlvbj5wZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cDwv ZnVuY3Rpb24+ICggPHBhcmFtZXRlcj5ub2RlX25hbWU8L3BhcmFtZXRlcj4gPHR5cGU+dGV4dDwv dHlwZT4sIDxwYXJhbWV0ZXI+YWNxdWlyZWRfYnk8L3BhcmFtZXRlcj4gPHR5cGU+aW50ZWdlcjwv dHlwZT4gPGxpdGVyYWw+REVGQVVMVDwvbGl0ZXJhbD4gPGxpdGVyYWw+MDwvbGl0ZXJhbD4gKQog ICAgICAgICA8cmV0dXJudmFsdWU+dm9pZDwvcmV0dXJudmFsdWU+CiAgICAgICAgPC9wYXJhPgog ICAgICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fZnVu Y3Rpb25zLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwKaW5k ZXggNjIzYjk1MzliMS4uNGFhZTA2ZTA2ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fZnVuY3Rpb25zLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV9m dW5jdGlvbnMuc3FsCkBAIC02MzksNiArNjM5LDEzIEBAIExBTkdVQUdFIElOVEVSTkFMCiBDQUxM RUQgT04gTlVMTCBJTlBVVCBWT0xBVElMRSBQQVJBTExFTCBTQUZFCiBBUyAncGdfc3RhdF9yZXNl dF9zbHJ1JzsKIAorQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04KKyAgcGdfcmVwbGljYXRpb25f b3JpZ2luX3Nlc3Npb25fc2V0dXAobm9kZV9uYW1lIHRleHQsIGFjcXVpcmVkX2J5IGludGVnZXIg REVGQVVMVCAwKQorUkVUVVJOUyB2b2lkCitMQU5HVUFHRSBJTlRFUk5BTAorU1RSSUNUIFZPTEFU SUxFCitBUyAncGdfcmVwbGljYXRpb25fb3JpZ2luX3Nlc3Npb25fc2V0dXAnOworCiAtLQogLS0g VGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgZm9yIGZ1bmN0aW9ucyBtZWFuIHRoYXQgYW55b25lIGNh biBleGVjdXRlIHRoZW0uCiAtLSBBIG51bWJlciBvZiBmdW5jdGlvbnMgc2hvdWxkbid0IGJlIGV4 ZWN1dGFibGUgYnkganVzdCBhbnlvbmUsIGJ1dCByYXRoZXIKQEAgLTczNiw3ICs3NDMsNyBAQCBS RVZPS0UgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9w cm9ncmVzcyhib29sZWFuKSBGUk9NCiAKIFJFVk9LRSBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX3Jl cGxpY2F0aW9uX29yaWdpbl9zZXNzaW9uX3Jlc2V0KCkgRlJPTSBwdWJsaWM7CiAKLVJFVk9LRSBF WEVDVVRFIE9OIEZVTkNUSU9OIHBnX3JlcGxpY2F0aW9uX29yaWdpbl9zZXNzaW9uX3NldHVwKHRl eHQpIEZST00gcHVibGljOworUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfcmVwbGljYXRp b25fb3JpZ2luX3Nlc3Npb25fc2V0dXAodGV4dCxpbnRlZ2VyKSBGUk9NIHB1YmxpYzsKIAogUkVW T0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfcmVwbGljYXRpb25fb3JpZ2luX3hhY3RfcmVzZXQo KSBGUk9NIHB1YmxpYzsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9vcmlnaW4uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMK aW5kZXggNDE5ZTQ4MTRmMC4uZTUwYmNjODQ2NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9vcmlnaW4uYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL29yaWdpbi5jCkBAIC0xMzUxLDEzICsxMzUxLDE1IEBAIHBnX3JlcGxpY2F0aW9uX29y aWdpbl9zZXNzaW9uX3NldHVwKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJY2hhcgkgICAqbmFtZTsK IAlSZXBPcmlnaW5JZCBvcmlnaW47Ci0KKwlpbnQgICAgICAgICBwaWQ7CisJCiAJcmVwbG9yaWdp bl9jaGVja19wcmVyZXF1aXNpdGVzKHRydWUsIGZhbHNlKTsKIAogCW5hbWUgPSB0ZXh0X3RvX2Nz dHJpbmcoKHRleHQgKikgRGF0dW1HZXRQb2ludGVyKFBHX0dFVEFSR19EQVRVTSgwKSkpOwogCW9y aWdpbiA9IHJlcGxvcmlnaW5fYnlfbmFtZShuYW1lLCBmYWxzZSk7Ci0JcmVwbG9yaWdpbl9zZXNz aW9uX3NldHVwKG9yaWdpbiwgMCk7Ci0KKwlwaWQgPSBQR19HRVRBUkdfSU5UMzIoMSk7CisJcmVw bG9yaWdpbl9zZXNzaW9uX3NldHVwKG9yaWdpbiwgcGlkKTsKKwkKIAlyZXBsb3JpZ2luX3Nlc3Np b25fb3JpZ2luID0gb3JpZ2luOwogCiAJcGZyZWUobmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCA0YWJjNmQ5NTI2Li5hNDkwZDRmYzZlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK QEAgLTExOTQ4LDcgKzExOTQ4LDcgQEAKIHsgb2lkID0+ICc2MDA2JywKICAgZGVzY3IgPT4gJ2Nv bmZpZ3VyZSBzZXNzaW9uIHRvIG1haW50YWluIHJlcGxpY2F0aW9uIHByb2dyZXNzIHRyYWNraW5n IGZvciB0aGUgcGFzc2VkIGluIG9yaWdpbicsCiAgIHByb25hbWUgPT4gJ3BnX3JlcGxpY2F0aW9u X29yaWdpbl9zZXNzaW9uX3NldHVwJywgcHJvdm9sYXRpbGUgPT4gJ3YnLAotICBwcm9wYXJhbGxl bCA9PiAndScsIHByb3JldHR5cGUgPT4gJ3ZvaWQnLCBwcm9hcmd0eXBlcyA9PiAndGV4dCcsCisg IHByb3BhcmFsbGVsID0+ICd1JywgcHJvcmV0dHlwZSA9PiAndm9pZCcsIHByb2FyZ3R5cGVzID0+ ICd0ZXh0IGludDQnLAogICBwcm9zcmMgPT4gJ3BnX3JlcGxpY2F0aW9uX29yaWdpbl9zZXNzaW9u X3NldHVwJyB9LAogCiB7IG9pZCA9PiAnNjAwNycsIGRlc2NyID0+ICd0ZWFyZG93biBjb25maWd1 cmVkIHJlcGxpY2F0aW9uIHByb2dyZXNzIHRyYWNraW5nJywKLS0gCjIuMzkuMgoK --000000000000dd2071061fbf08e3--