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.96) (envelope-from ) id 1w5yEk-003ofx-1K for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 03:51:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5yEi-007LZU-2f for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 03:51:53 +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.96) (envelope-from ) id 1w5yEi-007LZM-1n for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 03:51:52 +0000 Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5yEh-00000001Fgr-0rEb for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 03:51:52 +0000 Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-5a297a69089so1900998e87.1 for ; Thu, 26 Mar 2026 20:51:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774583510; cv=none; d=google.com; s=arc-20240605; b=K/7YSW8dZ3SOGPBLA0iRWiGTB3lhw0zjeSCcb8+rFN+IdGjZZ1ElQVYKwhGTM5zv5Y y1rjPGd0M1ZTzFroHA4QxnY9aHVmdSMVJiL4s6/+VApuHwpnUadYpRUBCoB+6ihD6HAN rPyibMB6FW3RdTKnKl7xrzCoy7C083v9UxW3fVMv63ddAN/v8XZJFd3YABo8BHKq3ZMq iuxesrgwPTgCXVo/0VB3BN9c6xpYeBxRwyt21D+uzTlIe6+/qR7dh5up1/mLKMyK/4RX flh7Ku2dJZb7tAL/88IhhfRqaiiPN25E+17Eeeqb0Z2zVRTkBqvm860h8YkdAyLISh6q ofMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Jf45kB7chgNafSzr2B9eQZK7OaHk2bK7DxM4IF0H+WQ=; fh=oNptMSGuyCvJjHgZI7+VdR8sErC5nsxArag/uaphJkc=; b=bzx9irY4HAikKYTAuYM1PrzQ89vXPbHJeWc+RctWyRB+Xvm98hBXLGfIe6Eoe4Dsay EcXtakkUGERGvdD1Up3z+IAG/bIXhFGOqs+KdcffemEc5rkys7XiUSRMJpLMhpPeTAXj GoBQVfSat17qDa4NT8Oidt3SziCB+ICn1IpXHqn2MQhi51FhdwKYYtQx0mSCsFpnAjdN RdAYaHkkvnlvey6rnInLAI3bxd6kci/q/NUjJcDeTsyjjG1C/DGyb3Eu7jkTN7/FUAio 5H+I3dmtB0E1ykTvOPjhM05Qxo2fhZRgjHV201bpvCA2aROsYlj8Hi7t7bZZqsDecgou q5Sg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774583510; x=1775188310; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Jf45kB7chgNafSzr2B9eQZK7OaHk2bK7DxM4IF0H+WQ=; b=mxLQHk8/1uQI+F1Qb1jyDZ2kSNwpxbfxbyJ4u4sp7PvgXTjUGfweP3TxqqLH1p4gFv 0u0EBiIxrBauqAp7Ls8ItvYTNnAUxX60wmSm2QAGPkZlFi3Ni+MokCPGTouyx9gZFYuB peBN3FAfQmabTevFpj4biLtRT4qQQGReR12+t226y3tVKy0gakm5/cnnH+DNHj6utUPV fpVj4op8F2X3LkGYx6Hdq+tAronJ3HiFOWQz96jcumMiOAuGpskLHfo4YT8FeJXl6nGL PqEMAWlSRGxq4H5gwdAQ7zfSw1KQqBPrWiJciaSgxb5zelHC6lLmdrIjWV+rXSWR7yMv c6Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774583510; x=1775188310; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Jf45kB7chgNafSzr2B9eQZK7OaHk2bK7DxM4IF0H+WQ=; b=KUudt8ew4hPdE+PFzqieBGmtpm1WMdD32v8MwMKluZCRYdBw+gdZEge6rIWz6C9CuW NRrkkCMfD09RgWIgv2wGOwElhV8X2nLj0S728sFX8SxJOxcrCh6sO3rdqOJ/GmjgS3PV GznPoK2COHTLRSLA2foj+8/LdpBmwvg+UTiv/Q9bCUF6U+JUl+uh0J5C1605xPjHYT0G YBsV9LCdAu/Red9bnKP5cSGYVclwTSVUPw884OBC0DZIUq+F5E9wLyitOR9wkap/jX29 xS0mmXx5y4PwclU0Y4vrwRSCdqllk2anZyuKl8fJaWdLab3/e4Z8AeCAdSXWjgPbMD2+ xw8A== X-Forwarded-Encrypted: i=1; AJvYcCWqIwIsFU4jeS/CWPAqutgHjntH/qWd/fePImpOwPxxE0lG2IkT0Y2n9O/jhPENtepcrl16m+FfS0KYCmeP@lists.postgresql.org X-Gm-Message-State: AOJu0YxEOyDndg1p78QmxQECGG4WhucaToWX2YgpAbg1MYChzgN49WWD 170tMuNLc2/70liyaMqrdU6rYSfO6UNSafrmVBjw4h1gvgIcAeG0knQak0Xp2qSgeRKlO4uNcZK /TGLJWfiCI5bsOnlOFRgVO2Vdj9OX0tU= X-Gm-Gg: ATEYQzzRa51KqzwMLig8lFFC3/LTjJT3kJLP1ZqNpJvn7z4hm0KJNNilW9081IrBJic Zdn31w9USNKIwVkC7RDKdsMhwyy0f7wp6hjh9B/XrvctEAPJtgJ//ygAZIlYH+wb1xS833engex PNsGMiNGFP5imMGtNS416vjeXbeloVzbLua4+DcGWtNZhBU5G4uzYwpyJzaiT1uKXDeS861Mhih 1BMfcHIPaYi8NsJvTRRtwPkNKtiFtl414YKeGgwjp0BKNYFUUsel8/GHUVXTNb7n99BP7ruI58p EdxBA9GxnuLWzVQC7m/051L4YAMbYGXuJoN1+i636A== X-Received: by 2002:a05:6512:2308:b0:5a2:7d84:6a44 with SMTP id 2adb3069b0e04-5a2ab5fa471mr266668e87.6.1774583509427; Thu, 26 Mar 2026 20:51:49 -0700 (PDT) MIME-Version: 1.0 References: <0c28fbd1-3320-4e9b-815c-6d62753aa063@wi3ck.info> In-Reply-To: From: Amit Kapila Date: Fri, 27 Mar 2026 09:21:38 +0530 X-Gm-Features: AQROBzCPPbLp5Swj1mAwj24y8WR7XUGXmh9gNA4jhXsHEH2xuY3gbVn5S-AoQHc Message-ID: Subject: Re: Initial COPY of Logical Replication is too slow To: "Hayato Kuroda (Fujitsu)" Cc: Masahiko Sawada , Jan Wieck , "pgsql-hackers@lists.postgresql.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Mar 27, 2026 at 8:46=E2=80=AFAM Hayato Kuroda (Fujitsu) wrote: > > Dear Sawada-san, > > > When passing a non-existent publication name, the current behavior > > raises an error while the new behavior does nothing (i.e., the > > difference is calling GetPublicationByName() with missing_ok =3D true o= r > > false). > > To confirm; It's because in PG18-, p.pubname was chosen from the pg_publi= cation > in the publisher, but this patch the name list is taken from the subscrib= er, right? > If some publications are dropped on the publisher, the ERROR could be rai= sed. > > For the backward compatibility I suggest switching the policy based on th= e API > version. E.g., > > ``` > static Datum > pg_get_publication_tables(FunctionCallInfo fcinfo, ArrayType *pubnames, > - Oid target_relid) > + Oid target_relid, bool = missing_ok) > ... > @@ -1631,7 +1631,7 @@ Datum > pg_get_publication_tables_a(PG_FUNCTION_ARGS) > { > /* Get the information of the tables in the given publications */ > - return pg_get_publication_tables(fcinfo, PG_GETARG_ARRAYTYPE_P(0)= , InvalidOid); > + return pg_get_publication_tables(fcinfo, PG_GETARG_ARRAYTYPE_P(0)= , InvalidOid, false); > ``` > Sounds like a good idea for backward compatibility. --=20 With Regards, Amit Kapila.