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 1wZKvi-000xSM-2Y for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jun 2026 03:57:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wZKvg-00EqIT-0q for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jun 2026 03:57:36 +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 1wZKvf-00EqII-2j for pgsql-hackers@lists.postgresql.org; Tue, 16 Jun 2026 03:57:35 +0000 Received: from mail-yx1-xb135.google.com ([2607:f8b0:4864:20::b135]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wZKve-00000000aI3-2DCu for pgsql-hackers@lists.postgresql.org; Tue, 16 Jun 2026 03:57:34 +0000 Received: by mail-yx1-xb135.google.com with SMTP id 956f58d0204a3-66077c46c5cso3796235d50.1 for ; Mon, 15 Jun 2026 20:57:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781582253; cv=none; d=google.com; s=arc-20240605; b=UhS4IFSMixvGc6P+BxCSGsddBlv6EoHj2AM76RHHP624hp7VdCXjmaoNgRIBGyKX8u uTnPttMBCZweNcL4UwODE82ftwJIW2W/yWRZXGtNHT2pdkI4WMzshEJCsla/lSdf6lmh to8Dn44RRFL50vG6B5kfREHR7k/5+34ahXfdfd+o/WjIX8bx+SjY73ifmeG4vk+2XnFF vF0lKiSoQ5V9rYDxN58KIqnRlyNf3C2NrAegFgBieWIUIZr36tf7i2WlgPyBC4vaQY13 FpOfX2VUA7fV1Y+fIBcX/54+td/pkGq7uiJHd+g4ytsawM7sTWE9k67/XWhge4/Cormn UoIg== 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=K4zLnKF5HRCrBL9eAwjS60BwXW1SGelPzz5oO1Rus+c=; fh=8hBOCm8kbQw416BGqLrb7o9Ic/pUchKaHwJp+PGXc5A=; b=ZPGYcB5F4PPmSgKcKec1+QM8zr6GQH9GlWNlUx7ASFqeWbfNirP3AfwfVGBiQraWUj SM+lS0LkwaTZv+c2r/xCBsPogsVV74q7pvkfHrSFzQ/GPf1QrRIEFMTmUGPl9Tn9LwcX eIyNl/hyojEcAeuyF2biBSAq4/HhA2/grdD0KC5lKJulYQq+ByOQMMo4Aw4TSya7gElf YxsfxVNll+YszmV3tsWtf7r0xpDz6OwSjqkfc04MAjGhglfY/cs6u5jy/IeFjecqiSqm F7AFcmGgCeAdFSCVeVZO1/tabw4imsFVPt8mmo8MqeXR7CqdBlUaU1xNkIlFh1io++va puYg==; 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=1781582253; x=1782187053; 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=K4zLnKF5HRCrBL9eAwjS60BwXW1SGelPzz5oO1Rus+c=; b=XjBFMlDr2SpeLt5D8L3tW6e8ZTf3cInxb8RHGc8h2nIOsDLjfwae9GzImiu+uP1G+v liv8ApvJVCphciQ2o6oMi3aS0OAu3BaYXyYg1ppzu+rtxCHflzL8KtlePA6Riu+09eIi Sso5F+biXmvD4bCzfB6J9W1+/lkKA+u2zuh9OZ9PYEHP3DTvAYcz/gGXbyFY301xu+Cq Gb0PUuTZWn1Gu0BjQxagQ65hAQIQnKl6MlRPPf2pa3PRUth7F/3exJgeK4kVPPOLCKQa +n7HJ3kwiDUl1Hm9aFozdlMJ9ccEN5VcH8nQs86UIvhFdXX1nHQllsr9s55af79tXWcF MB2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781582253; x=1782187053; 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=K4zLnKF5HRCrBL9eAwjS60BwXW1SGelPzz5oO1Rus+c=; b=sj0Bbt2C97BRqQCkr55lg3lpebwjNNSU7ArnDpIRPbeFhuGuiq583sF9X7rKUh7Z3U MwdLSfyJhv7YGoIFZtLo5Rg9GEkFbK55JSQE0gv2gtH0TPiJFhEo5lJ14toOavI9uPzx KcgLBPnXf7/tb3y2f3IzAD5vW6xiWAN7pFotEEwYRGIwEvw8baDjPOzWOqKPGxj1h2h2 KzedaG0YvrnXlXD39vyshpVlNEYkIJRdn/0dlpoImRrp86J4DxsJCK/cDc0of+ETXFWP ppLZHew7WYz7bLms/rYKjoRSwpE5W8yqiIYeqgkRFuFLl5XOAghZbNByvD60K9moyFRe NYVQ== X-Forwarded-Encrypted: i=1; AFNElJ+7fV1JAIYFiaGuL5GYXYfRU40YPmax4m2GOIZhn6FsR49kJlqPtc+eYxhsQ0v+QM8W4c3YnOTyTlHO1rR4@lists.postgresql.org X-Gm-Message-State: AOJu0YzyGl5ze6bFQZYtia/qskXrtGMJRVlaXEpScIqZPz+VrT1AAvfw vqbtWBYRLH8+0iMxTF6UXCQkIrriR2+lHA2FAe3Ct5q9rXgumYCa1EZSRl/5XZTkQCZVmjaQydu Hkl6g2XPV+/47fCuPvOR7MpqF+6lxe+M= X-Gm-Gg: Acq92OGspTkPrwmXyau6dKB4bSi4Y/BhtvO1llXzf8sWWjT0jHuLWdXgbhs/l7T1vBj bO/wIvXq0YSfc0omNgXH7qxoY2fqWUinEkCLYUYSa+X+kVYXeiel8L22x33Ejt7J572MtWv9MDF 4hHFlVQmJ3De1qLiu/T5SopOGm0k94yAm2KXV4Ekf9ALCXzlnOCQhzYTQhH/J+mgTGDiIJXHPeQ tuZcXueZ0QR9swoG1KOCVqRFo3UZ1VGQulkj4uxPb2cbxfwhJYn6RRc9MPv4yRIYMt4XOOD7Q32 pgtI0/zIJA== X-Received: by 2002:a05:690e:4390:b0:650:789b:a3c with SMTP id 956f58d0204a3-662b6105c9cmr986340d50.35.1781582253163; Mon, 15 Jun 2026 20:57:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Tue, 16 Jun 2026 09:27:19 +0530 X-Gm-Features: AVVi8CdbGl_gHEyb7U5E4W-zHx8iv-4zP0QNTToMr2TXG13MomiMhenoGtyREAE Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: Amit Kapila Cc: Dilip Kumar , shveta malik , Nisha Moond , Peter Smith , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers 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 Mon, 15 Jun 2026 at 14:20, Amit Kapila wrote: > > > 2. Views are disallowed, but functions are allowed > > Creating a view in the pg_conflict schema is rejected: > > postgres=3D# CREATE VIEW v1 AS > > SELECT * FROM pg_conflict.pg_conflict_log_16435; > > ERROR: permission denied to create "pg_conflict.v1" > > DETAIL: Conflict schema modifications are currently disallowed. > > > > However, creating a function in the same schema succeeds: > > CREATE FUNCTION pg_conflict.get_conflict_count() > > RETURNS bigint > > LANGUAGE sql > > AS $$ > > SELECT count(*) FROM pg_conflict.pg_conflict_log_16404; > > $$; > > CREATE FUNCTION > > > > This is okay because the function is doing SELECT which we allow on > these tables. Shouldn=E2=80=99t creating a view also be allowed for the same reason? The function is permitted because it only performs a SELECT on the conflict log table, and such read operations are allowed. A view likewise represents a stored query definition and does not modify the conflict schema or its underlying tables. Given that direct queries on the conflict log tables are already permitted, allowing users to define views over them is consistent with the same rationale applied to functions. Regards, Vignesh