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 1wcxxy-003mov-2G for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Jun 2026 04:14:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wcxxx-008hvh-1V for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Jun 2026 04:14:57 +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 1wcxxw-008hvY-2u for pgsql-hackers@lists.postgresql.org; Fri, 26 Jun 2026 04:14:57 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wcxxu-00000000HgV-3Q6j for pgsql-hackers@lists.postgresql.org; Fri, 26 Jun 2026 04:14:55 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2c74383c93cso5936825ad.1 for ; Thu, 25 Jun 2026 21:14:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782447294; cv=none; d=google.com; s=arc-20260327; b=sL+Zby2sADydo9lSM0WXU7VBRFtS3eBcXvMPPuvAFEBkkin85nq8kSXv4puPMW1G+4 UNHZD8C4VKHJfUSwwMkeVBXCoZ0WwiypRlDGWoTve0DRkNjfDf67XVmRS7FT8/iB0ZkP 8bAIhGZLFpvxs/ktqzpQBEnf/bFi+u4a6hjs6c13pz2cFzsZWOkL6jMDtKf+1RIF2UAa k8wYTSDEPtYdOtTcwIqPNQ6EO0+QhO9PY5olCPTYy/9NTQiHrM+oglIraMelgxrj/1vP 98GKFtGiprl2ZDCQbwk2HX6mJe+/d0R4AHdWmSsSRgXr/msSsEz/voxQMoOaU5pUwNHX m7GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=MmsSlQSvFlDrNBaDRe3tLP0xHaTBwsKXcxyu3Wr/9qk=; fh=Gr/aj+3laI+Mxnr8XchMogF7h5BSK8/Lzaz9NOgWqUA=; b=Vhzc+BjiOXnWMQ0Sg3Bz9eBIIeSHREmFFtnNaPLJoWWmAg11x+DJCER10dpAil02Kf ib1l1A2vKMnQE6E+9Fexk2Jg/4Knpz1LbKSsLaBC3PCXNzioJgKW/t0EEn8Bob7kmRqf LIM0s/q9gi5o2qxpNkwqNyoRXtoV9k0h44c3ceeRr76+ZyRqBCivWKtjrb5ObmFR8XN6 Fu59A/QWNDL/hrSuthYL3ITM0GfxoS+YYa3nPvbtBrwimJ9k2SggdXNCRCNm0k6C7+EB cuslpSgLh0sE+g2KoMpCZVb47LkXL7+XmECSNPcuHOVHEVfVgf1TFkNBnzSyvroSrd4z j1NA==; 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=1782447294; x=1783052094; 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=MmsSlQSvFlDrNBaDRe3tLP0xHaTBwsKXcxyu3Wr/9qk=; b=dzCA7CyHczguTk55UhJzsHNEMpsqIJjRfbLV2FSHe6L1f+YOfybMlBIlZPha4XdKrt Z0WFEj9ZQfj4ciP/c+55CXdELGSbz6I0KfaS9WVnwIAofaW2HWwdhJrWHX1slSmFsqUH 8wSplBAEzDAy7aoQbTy+Ach/Fxm7VKYbXpofTqwQKy3v4BiOj0kCxyvbQ0KIIo5AEfga C/M0ULpSPRMEOuT94TednDwaieO0FVK7m7QoRg4IYnH1Vz3toLbHmkGlpKi8wsNImEFz ahzKGUeE0dgmJVBVqouxbfXoXsvdAAlbJz/alnznxyomf9Uzb6DQAKOPTAh5HbrbSawW 5PEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782447294; x=1783052094; 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=MmsSlQSvFlDrNBaDRe3tLP0xHaTBwsKXcxyu3Wr/9qk=; b=YxkRtjFsBUiJB8VX21dFxF2bNWSFxNVtcYVdEQxI1MEC3ppOdbwx98ovkpoWCnR1AT B9vHm7v/Cotm9rbGubpOFiLZdCzPtRmVh1c1obKTacUMeSIkNjnfeAfC14++M+NVpjX7 XfijZ9MioqYwgv2WAnO1Tgo8Dt3gGuROhPICCc0gVPtIdy1TDcR5nO9QidnNNqan25+N 2TgFOkMu0O9/mepiPfojXKfJSeB0D2pgeu/wb+l9mqyc61V7FGrL09LaOccoIR+Ym6Pj JOq6LFN80AzcvTUlwXrw6BgxBgSapSr2EkJRrHm2r5yb1ez/w97bp02cPveXWpCncmp1 +sbA== X-Forwarded-Encrypted: i=1; AHgh+RrYt/tzQa4MWmDB56MTLoJTmYWC1AZAhwIssn3QRKORFYzegWYpXGSoiM/khPw7yIGYW1MNou1sZqxdjLz5@lists.postgresql.org X-Gm-Message-State: AOJu0YzR1f3uDK2yoM9hhRU78pt58EFpMh3yd0cyzWQAzaBL3gQNy93m 4cKBiKj45dMcIUyPzzNN+lOHVzmwxT7czaYsOJObLF5SJtwqqsFzzUjwloX0DwfgCNfqkfe8eZJ 6FiIqLS9tZYHNOqbdemDJetqZP7zeipw= X-Gm-Gg: AfdE7clLCroawFe0VE22Po91bcIS1HvaW5++LSjOlOJQH6n0S0GRA773J8T0WVG8s3E KWbEmGYgJ1XUC4o8HZZE44vEHN223FktXgRpMtHft+chwNsZ+Ub3RCg7QstkX+WTUuhqzk95MAe Y5faoTXFYjxTKI/SVB3gsfTJxsLw8rezlC7kii1gtvysYz65CGXCmBVDh1TBtvEKEE8crMEcryC I+JsRGGf413q4tuOrhP+A1CyMJhsiRA1b9b+bfh5oD0yD1uvRXksI75cx3KH+Z/JK08Zj7PJh88 orXOWGMCscbfuDAz5kehvWZ/HqO3KU8JC/93+XP2 X-Received: by 2002:a17:902:cf43:b0:2c6:de15:830f with SMTP id d9443c01a7336-2c7fc6f395fmr57989865ad.18.1782447293753; Thu, 25 Jun 2026 21:14:53 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: shveta malik Date: Fri, 26 Jun 2026 09:44:42 +0530 X-Gm-Features: AVVi8Cc20Q_gdQSf3W95J66GFtBq7CG7v8jgjncb9LA35MfAi2BRqKpqOyLFOBw Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: Peter Smith Cc: Dilip Kumar , Amit Kapila , vignesh C , Nisha Moond , Masahiko Sawada , Bharath Rupireddy , 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 Fri, Jun 26, 2026 at 9:14=E2=80=AFAM Peter Smith = wrote: > > A question for v58-0002. > > =3D=3D=3D=3D=3D=3D > src/test/regress/expected/subscription.out > > +-- Trying to create a new table manually in the pg_conflict namespace > +-- This should fail as the namespace is reserved for conflict log tables > +CREATE TABLE pg_conflict.manual_table (id int); > +ERROR: permission denied for schema pg_conflict > +LINE 1: CREATE TABLE pg_conflict.manual_table (id int); > + ^ > > Why is that error very different from the error received when > attempting the same thing for `pg_catalog` schema? > Shouldn't the errors in both cases be almost the same? > > Here: > - LINE is shown > - A schema error happens instead of a create table error > > OTOH, the similar case for pg_catalog looks like: > test_pub=3D# create table pg_catalog.t1(a int); > ERROR: permission denied to create "pg_catalog.t1" > DETAIL: System catalog modifications are currently disallowed. > To prevent the creation of other objects such as operators, types, functions, extensions, views etc in the pg_conflict schema, a check was added to pg_namespace_aclmask_ext() to reject any object creation within that schema. As a result, the earlier table-specific error became redundant, which explains the difference between the two error messages. I agree that the previous error message was slightly better, but to avoid introducing special-case checks in multiple places, it makes more sense to enforce the restriction centrally during the schema permission check itself. The new error is consistent for all such object creations inside the conflict schema. thanks Shveta