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 1wcaov-003TGa-2I for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 03:32:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wcaos-003UWE-30 for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 03:32:02 +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 1wcaos-003UW6-0D for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 03:32:02 +0000 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wcaon-000000007YO-1nCA for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 03:31:58 +0000 Received: by mail-qt1-x82d.google.com with SMTP id d75a77b69052e-519defad0d9so17894051cf.2 for ; Wed, 24 Jun 2026 20:31:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782358316; cv=none; d=google.com; s=arc-20260327; b=q840AIClbBWQLA6AWnl8Vsl+hTfYflss41WIEFOlyImDheB7ztuTKkiPTVSzbATSOe x4DbGGSnwRI7k9U/yqVjGYGDWOaNQQygZsGABlpuabQ3io/mrxgqYPNn07UjZnnH3TTU 8aSbPsBdkWCEf6y61+CgMLKrf6aqTULcNnh9WC2mhsuXo7uAXVNsMh3yLWUpJACecsPc uM4F2fOcd33pQzjGkS3VXNNoEcCJQ1fsUEz9o38/3CbDDXPpYU/JVlF71bwVDm6TsKgh 7dTuhojfrHX5128+k1fYt4bOSJXaOcJ0EG+4a/63UAGuWBQWD9rQhSurFM6HjcOgC4CR 7M2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=7sO6A8Nx8nv+zpgPB8yL6/vt4cUGRKyjESnSIJsmfB4=; fh=F62hdh1lbvvsIGjv9ad0pdscFnEVY0E41omwjHKenaU=; b=EWgXsmPA1ZionErl+SoNmPc9XKovhD5s/SLg6J5kGWEx8KlgNZczNX+y/YBb0iR3Jw hETIhN+8CVT6L53X0XU+4BpnADWCw3QK1Ye7UZbxzOcem8lx0eWFgrwrG5YillwsuvN/ OTaSo0k94+9vVVT9YVJa4UNdqZv7iC3srr9m30xFewmap560SClCKxBkn7NB/gRpCr+3 Mpt7v4VKrF0KXigbDV6q9jDSl9l8FPXXSVuNbAmRanIlxnNyS1DoZmQgzCAuIcuedexp JmxUEIDOfPn6tqNeybf27eKfmzt/TD3jVvsYglsxIWntah2uNK7jVu1rU4Nxp9aYvJbm IQCQ==; 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=1782358316; x=1782963116; 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=7sO6A8Nx8nv+zpgPB8yL6/vt4cUGRKyjESnSIJsmfB4=; b=QLkGM2XOshUVnpSNeA0L0lPIsuV6w4w5iVQkwKA1geRe5V+YdTbBa488LxrL7f4sMU Aj74LueVF9inbb3pUa5/F3MffNnO2dB9LgEle82RuqQImVgdXpF0OAWrxENsenLcj864 2T5p6a5Y7AHN8D0ORZKN8X+C4VyvocUsT8vIHEGYCjcPtEyrDhJ0O75oVjYlvmC51qFC +/9x4/9EazOv0tk/OxI4TSDNKQg4lmIzGjlHI8j+uVcZ0a3izjmIlc3/vq8nduGWHgct FY45VHXds8BZPiEXWqANNSK7O+jNtvYLBPvHDJ3mRiKOWe2L3+n+XzyFQVEEBVCcxBGk Gn5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782358316; x=1782963116; h=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=7sO6A8Nx8nv+zpgPB8yL6/vt4cUGRKyjESnSIJsmfB4=; b=Wn0IyQsENVw9oK8gF2dYHSpfoDER+Wcty9V/wtEZScyuvjyKwvldNUE9Jo4lqO70Tb 1LcePpuNy90p91U41pDi3YVxYhRnUgoIp6RMffUyUqczhZhecFNAZ6lUjoPisoxbBQXs qe/zEwguZ9bsRzLa3p+TioIiQSnv8BasaRuW3jfhH7A/pZ2BQPORVBxZGMiR7Jb34pb5 bw4qPbaJNMDUXL0e1yIHkCVcPH2xF93GwtnWIVTNqk0U9hfn37AOml8ArD3SDairNmnt eUC7Syr2BREFmTzFIGrVQE+1mFAQhiCZfq4uKlPeZwXIcgFnt0pukjhUYl2GxbrKCPLf NqRQ== X-Forwarded-Encrypted: i=1; AFNElJ/gS4BauUHLr0QuzwDon6B7mUO4yiLAB4Bph4WzSLmneyfkdgjMborHVcZWEipdvqPNBzEnlF4FAjufs819@lists.postgresql.org X-Gm-Message-State: AOJu0YwdBufUUtRZhlwB7EsgUpjIDtR1wXrIRJSHBy73BGuLHlgjykGZ yAtl+YpKz0OEf4qMm8w04L9wJV4fEqCk7QmJzyXZn/opJy69oM1CKBowDiJYBs24d+X3Ys3GMWo icTcEAOV5S2KXcjH5xOnwH1CgNIw1BIs= X-Gm-Gg: AfdE7cn9hxSnbSopEo1v784Z1NLiGvtt8pHh0f8TfkzCoBI3/mH2yFnfIvzPvwmq2aA m7X3H1fvTLlDbt2LaK/+2PwlcqzrGWsllWwYGioXSTHyfDS0J70abaUGHO29rQtgGDtb8qENPB0 Bi1lDK35r5uz0Q3thzQd3ROCZnH1u4hoeM7SoIUNRpgFG3L8Q+k/+jh4xTEnS5lHR+++wMTmP/D RuV0zgHvbr5DLgpbI11DiLMb+cCUbN0agycHPhsA/GF6Jgq5gMvTgDgmHf8xUOzDNn4F+epmw== X-Received: by 2002:ac8:58cc:0:b0:517:8437:f67b with SMTP id d75a77b69052e-51a7278a03dmr8942491cf.12.1782358316352; Wed, 24 Jun 2026 20:31:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Peter Smith Date: Thu, 25 Jun 2026 15:31:29 +1200 X-Gm-Features: AVVi8CfgrJCBRHkQ0t9QnGLUR8e6OQKW-mQpYwVfmpGJ_M9F0o045N_wjzCdlAM Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: Dilip Kumar Cc: vignesh C , Amit Kapila , Nisha Moond , shveta malik , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Some review comments for v56-0001. ====== Tests not passing? 1. After applying only the v56-0001 patch the regression tests are not passing. It's allowing me to create and move tables within the 'pg_conflict' schema. --- /home/postgres/oss_postgres_misc/src/test/regress/expected/subscription.out 2026-06-25 14:53:56.238126138 +1200 +++ /home/postgres/oss_postgres_misc/src/test/regress/results/subscription.out 2026-06-25 15:04:33.540620498 +1200 @@ -905,15 +905,12 @@ -- Trying to create a new table manually in the pg_conflict namespace -- This should fail as the namespace is reserved for conflict logs 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); - ^ -- Moving an existing table into the pg_conflict namespace -- Users should not be able to move their own tables within this namespace CREATE TABLE public.test_move (id int); ALTER TABLE public.test_move SET SCHEMA pg_conflict; -ERROR: permission denied for schema pg_conflict DROP TABLE public.test_move; +ERROR: table "test_move" does not exist SET client_min_messages = WARNING; -- Clean up remaining test subscription ALTER SUBSCRIPTION regress_conflict_log_default DISABLE; @@ -930,6 +927,9 @@ DROP SUBSCRIPTION regress_conflict_protection_test; RESET SESSION AUTHORIZATION; DROP ROLE regress_subscription_user; +ERROR: role "regress_subscription_user" cannot be dropped because some objects depend on it +DETAIL: owner of table pg_conflict.manual_table +owner of table pg_conflict.test_move DROP ROLE regress_subscription_user2; DROP ROLE regress_subscription_user3; DROP ROLE regress_subscription_user_dummy; ====== src/backend/catalog/namespace.c CheckSetNamespace: 2. /* * Common checks on switching namespaces. * - * We complain if either the old or new namespaces is a temporary schema - * (or temporary toast schema), or if either the old or new namespaces is the - * TOAST schema. + * We complain if either the old or new namespaces is a temporary schema, + * temporary toast schema, the TOAST schema, or the conflict schema. */ void CheckSetNamespace(Oid oldNspOid, Oid nspOid) Function comment no longer agrees with function body. Where are the conflict schema errors? ====== src/test/regress/sql/subscription.sql 3. +-- Trying to create a new table manually in the pg_conflict namespace +-- This should fail as the namespace is reserved for conflict logs tables Typo: /conflict logs tables/conflict log tables/ ====== Kind Regards, Peter Smith. Fujitsu Australia