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 1wcG3P-003D4D-2n for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jun 2026 05:21:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wcG3N-00FS1s-1V for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jun 2026 05:21:37 +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.96) (envelope-from ) id 1wcG3N-00FS1k-0Z for pgsql-hackers@lists.postgresql.org; Wed, 24 Jun 2026 05:21:37 +0000 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wcG3K-000000022yv-32AT for pgsql-hackers@lists.postgresql.org; Wed, 24 Jun 2026 05:21:36 +0000 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-84229481d44so349213b3a.0 for ; Tue, 23 Jun 2026 22:21:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782278492; cv=none; d=google.com; s=arc-20240605; b=bLzxktc4+A5qU4Pl8e5MQyBucUoVSws+zmP7pSsj5CUvNEwkoykc2IMS7QCPz4lr08 X6ePE+fjAgaYeCBt59w+4ia2NAX1pXsgdlh0/wS29cVl7hCw0qpWxsyEn7OxNAXcznoA DfcmV0fxxpP4Twm3szBKhi6IzhaSR8YXBWD8hiMwRQYKiuCLSv1Xr2HxNHGNBdD5LzL+ mBYnFnaBZsePiLFeFnLDl5R3x63OS807fraXVXqmQRLwUncVPmPTUKtVL0+g+FJk6dql Ds5eDf+rfMUWXvrIBYAWnSz2vWWnPPb66l3zEU6UQSPQVLvFiYyVxrRrTjewOtT3nfpf fveg== 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=tD57ELu8O8yeYtuLvOn0x8Qn5J42NNcdnB18YamubWw=; fh=EqIAgmUsJdREA6H35dHZ6YDwfD8XoNpPvFrU5YV3e3Q=; b=AyiYhp5RZmr8vWNaEcRGWNxtR+39L1E5laSrE3uQ9pU9Hp9XoeVNYxS6HG5bCNX1yY ClULkgXkUf2Ti1H3/qwQhvi+YHHH4AbVi6Q52p0Z7RIq/e6wMhHE2gZmj/AztPIBu7s/ +yhfEd/ozJbRnDu5kP8iva6C7Qft3ydWkSX7YFU14xSdvRSsXq+tx5fuVaeIwnxuvdku DHpJVTpNeEmUCaRzgsX7Vzp9+Vae5FNFm/8CzGp22Y468YTodT2GvXwaQENoIjEUOrr2 EPEvPkeScBAX99dZrvdN91C4cmJupPpDN86EezMY81vTAQJjp/k6hGmM5bHOxZC88W17 tAYw==; 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=1782278492; x=1782883292; 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=tD57ELu8O8yeYtuLvOn0x8Qn5J42NNcdnB18YamubWw=; b=Z8PJfoEd0QG38OGdcNfHvCSqJva9wXE6Qd3oFzJapgTY6OLdQhwzG4+pBdBK1ZVktI 39pf1W74wKcR2a8H2vltq0rP9xayH8d4kOJNwGvwHI8p7j4nAeqpQChwb5rWmoY27Cv1 vzSCP1eL9TdYtpSsem1Nd2bckCiv0EgIEVeRgpAmQtAbh9yzXv/FtBpZ7wT+Thug0Z4J vfwrSWITmWnG6kPC+PYjlC+xoM0ArRNXI9mcXsmNgJmrVuZhzxo2Kh+o5qrnRLmaNVj+ FK5axYbZc1YoPyFrfsI8WUXJZ//EcAj2lVyy+a6I6htBK2dHRyY+SmH2mE4LaXYGZkpL GJgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782278492; x=1782883292; 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=tD57ELu8O8yeYtuLvOn0x8Qn5J42NNcdnB18YamubWw=; b=bzDyoLBVS5jwauspF31z/DqwZ/ROBFxjDvRh4uneq9l2S6XBy6cioUddOIFp+VcbTJ ouEDyLuNWQflSM965xw7V8AXRexNkKtnvgVpgrkmdr9S8r2FRcIAmuojjsnnWV1ql4qT 9sHWrfVOV0LSQVxHl4CCkim03sUMA0APVeli+/7GQSDCEL3OsqMaAmB2+EG2G5SjID5R Wk6+4omnbv9xtaCXBiKcDprOgGbw08/tKlQBOIM0S46nRDZBPGwv+Kf0BNKMSnjTLRSY 9P20xIXhslL7GEiUEzsy+T82ccEg1kEvPmDlZaFLlWFFCl3Nwy62CekFPuE3bzLj9nut Ff7g== X-Forwarded-Encrypted: i=1; AFNElJ/vXmfIIHuAT+t54WvmLmqnKgU61gdZYEdB/uoj+6aBYphta03YZgGmGdrOhER8RWSZwCxXCtguU4ePgdIa@lists.postgresql.org X-Gm-Message-State: AOJu0Yx06RYyx4hC0ZS9hYjVBDysVdMvDwCo9BhdxOZ/v4Pp1hoeEq0K JrdplT2PCBM1orcsFUa8SNIqotEdVDryMrX9GU5Ijox1Bz0spA+x31VuKBCcJtLIQV5vyJ+PXA/ SS5N6cZ4acA+TWQkjgLrP8Lk3LOhvHxg= X-Gm-Gg: AfdE7cnGT8qHiU/paR9TlQvfuU2o0uUSrjJojZoh4nOTje8B4U1sU/eVW0iQvN3Jo3L ZDu/7I1Ce4H+VdVOPUB0cwUCw5dOFOBeFnw8vBYlXVffxd7BCBMJ3sNPu1l+ZKLN3MubeOFzn94 iocViF4FYvkVoupITUzgRZNKC5IVvI14ybOnpj+PUbMASldFgDPB3w2hbdpE664kfKrBPoQkub/ uOXFZImqE5/WnNTdRn9X7JQ4zUEzYRL99GpJF5wpiPI/O6BBrNkrwecWvGkxCPBBpG+c7hoB9wt oX/WSuX14hNU9f4apTvQu7eZvphOD1hYxO47dJ4U X-Received: by 2002:a05:6a00:a0d:b0:842:74e3:48b5 with SMTP id d2e1a72fcca58-845a26f6bf2mr3166661b3a.13.1782278492302; Tue, 23 Jun 2026 22:21:32 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: shveta malik Date: Wed, 24 Jun 2026 10:51:20 +0530 X-Gm-Features: AVVi8CcPaG5VQ9bw46LjKJE3_jLJC2NZLrG9vHxRUW9mn9caviHSizdg_Euntbc Message-ID: Subject: Re: [PATCH] Preserve replication origin OIDs in pg_upgrade To: Ajin Cherian Cc: Rui Zhao , Shlok Kyal , Zsolt Parragi , vignesh C , "Hayato Kuroda (Fujitsu)" , PostgreSQL Hackers , shveta malik 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 Wed, Jun 24, 2026 at 10:39=E2=80=AFAM shveta malik wrote: > > > 2) > replorigin_create_with_id(): > > + if (SearchSysCacheExists1(REPLORIGNAME, roname_d)) > + ereport(ERROR, > + errcode(ERRCODE_DUPLICATE_OBJECT), > + errmsg("replication origin \"%s\" already exists", roname)); > > Can this ever happen? IIUC, since new-cluster should not have any > origin (as per the check introduced) and old cluster can not have > duplicate names, we should not hit this error. Do we want to keep it > as sanity check? If so, can we put a comment atop it. > Analyzed a bit more, with this change in patch002, we see an error change: Without patch: postgres=3D# SELECT pg_replication_origin_create('abcd'); pg_replication_origin_create ------------------------------ 1 postgres=3D# SELECT pg_replication_origin_create('abcd'); ERROR: duplicate key value violates unique constraint "pg_replication_origin_roname_index" DETAIL: Key (roname)=3D(abcd) already exists. ---- With patch: postgres=3D# SELECT pg_replication_origin_create('abcd'); pg_replication_origin_create ------------------------------ 1 postgres=3D# SELECT pg_replication_origin_create('abcd'); ERROR: replication origin "abcd" already exists So without the new check also, we can prevent duplicate name insertion (even if that happens during upgrade, which I can not see how). The new error and the check is not wrong, but slightly redundant. Or let me know if I am missing something. thanks Shveta