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 1wZLNT-000xnW-31 for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jun 2026 04:26:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wZLNR-00F1o2-2x for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jun 2026 04:26:17 +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 1wZLNR-00F1np-1t for pgsql-hackers@lists.postgresql.org; Tue, 16 Jun 2026 04:26:17 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wZLNP-00000000eYt-2ROc for pgsql-hackers@lists.postgresql.org; Tue, 16 Jun 2026 04:26:17 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-5aa5f11deb2so4629454e87.3 for ; Mon, 15 Jun 2026 21:26:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781583973; cv=none; d=google.com; s=arc-20240605; b=MmosIFzPUyF2+3esZXAzWS53nP5Th1CMCcZMm0JX2qLTpPY1vq2VrRIm/G0/kCecbR EU5mslHJ2Ge06b2cb3ErCGYWAct0cHoQyb5iSLEPYW8iBqSBXCb3WQdemYDDdxcDTRqz CC7egqFGr48wpRtWRDpQi6ENRyNtYNCsu+S7pehYE3+aCCKjs8/3qUMpH6MqpLm9RByZ A5xUV5unLam+cn7I9qh7MhJcUJsSKJfFvTVX5NiqA5qTxa42cIqnan6NEMM8I5WoD0m4 9xF+YPiUIpRcUepFp59ucxEtbunAWkvILpJ73OzPDecNjAwVw2u4LScXP5+sBbcuz4lE MaDQ== 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=c7ZVlxumtFBl2kp0lx+1YpRtVpb12OKVHMxHZjGAxZg=; fh=kEnRlbxEB8N3DfjwTP1e9gr/d4tvBSqAWVpDtwNIx8Y=; b=MjcN0A+UkV2SLekJ7jOHf2GNQFL3rPg2sppfAhuEH6BrmNE77sR/G1W7gO9XVZ3TZq NqDFIfT0+wkgWKIDo4b1Z4+pzggMRT2E47NdB0i/MgHAd9aiWhh4E8jmgWx09expxrlc nRryv1YxBOZkdITiUi3iWaZ2ycIYGMLZxtvXXeIAcbkPzfH1TKQFxb4d0k4L2Zw15hgR F0g9rmR+PTnzAi4KuuC9DA1TIaSnSu9MipOjpIKTMTH36ASK+C9M7FMny9VFWSLftYS0 4iKJ2uvAV96Uvoal8ADaMwvNDpYVEJ4g8omgNAwpNfXOsphX+t/tYWvsZ2/VKPVAARDE EKfg==; 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=1781583973; x=1782188773; 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=c7ZVlxumtFBl2kp0lx+1YpRtVpb12OKVHMxHZjGAxZg=; b=LFR/MaPDMyzNZ3TUgYHih6rF6B27xPP1K0gr1UjpUho/dHD6zcv+fIhPZMiY0qkJmE VTbLPJAz6tHDBLFUOqZdvKaXoLt4HFA0yJ798WkFrUOe3SwYZKkoDNdgi0VSjUFhOSqa nWrF8wpXnD34Ot/jrx1i1RDqPSlAthLHzbfbuYiqV7ZmND9j1nX3tRNPMhzPrM1uv2tM hOqAvwmPPPQ09GBo+TMcPnaQmanrxQn+Cj+Yju8o1uBqEMams0T/YMEqxd7VTOfYiLJ0 IFFjkrFznnVMAGDWo32liQrT9216nwkkRtL6BS1oTRGDCfiwKxVnQsJ4vB8sLG+evrYJ sLGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781583973; x=1782188773; 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=c7ZVlxumtFBl2kp0lx+1YpRtVpb12OKVHMxHZjGAxZg=; b=NgTekmyv5ZvSA4+2+RooUqN5lzg54fPALu47NtjrS2LbtTA3H3BS2WvOJv1zNoHBxa e9SC/HM18bVDa0MdTD6XUaNjufzWsEZSqFxh+D/HI3+elAYt8ojxBuQyjtnAoRjYoxhd 8WVA0DdU5NljYqFOxzFbaxwjEpgnZPmq6vSu0W1H7/+4upUqHVv1hfjd4g0DAQBbFCu+ Ps5SDu0PaeprsM6iHbN2xiYDnc+3d3c1yH5yqY1GgCTIbEMzswuiJyjcbRDP2yr32YCE 9ANi72g0M3wy9iB0Hd2ofq4385rnF+5F0ckfMWpUhfCJt1OG5o6G2170uqHbSAk6qtux oGIQ== X-Forwarded-Encrypted: i=1; AFNElJ8jgz8KonfnSAQjWbJRgaLH72WfwIB0ZKks0bBAEzXgfwW6+GA9Fw2C/gJNPOfikMNGPluIhLu9KLiUCJel@lists.postgresql.org X-Gm-Message-State: AOJu0YzycgHw3ob5W+VC6cuVi8+nUbVMCdksFBKDFu9qkSHmu4LduxRC dAWrDAizjfMhJghp00BWk+m+0I74ak72iyjIN+Uf039pq33aUeOnsRIC8p5eE2Ny286x0A/yg6Y zVsm9ZXK+AP9lRN3f4eT2IImj2ZAL8Zk= X-Gm-Gg: Acq92OHVgPrJCzI6zXbM5ehWHTvkl4sFsFpeyR8Vfn9h+yLtUjuQjPfWEXKBLlBlG0T AqhVap0aBJ58FScWhEmPTt5SF9xVYBchnEU4TEfrT77+KH+54ZcLmdtRV13cd1iipPHpZR1bmmR oLirzWjPJKOwCZYa2SEET5vK9VeftogtyjZi9zDf1xHr2SEcDkxTF/JcO/fqblgHTxq9u3/wmw/ vfZQBOjcTNIhb+MzVIoTTBjnQTOS7OmhG0XnhciGy6savoxRA/Kq9BTNOUbdSMjlUKG31Gleolm n/LZlwIVQ8czytKxlUaPKMhltvR4PS5KBBdp X-Received: by 2002:ac2:4f0a:0:b0:5aa:62c0:d723 with SMTP id 2adb3069b0e04-5ad427a8bdamr596664e87.26.1781583972656; Mon, 15 Jun 2026 21:26:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dilip Kumar Date: Tue, 16 Jun 2026 09:55:55 +0530 X-Gm-Features: AVVi8Cdpzbn-YcKsdrcEv5LbXADyl0Ad19i30Bez3a2N04pk5D_jm6tWydwDEC4 Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: vignesh C Cc: Amit Kapila , 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 Tue, Jun 16, 2026 at 9:27=E2=80=AFAM vignesh C wro= te: > > 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. Whats is the behavior of toast table w.r.t the function vs view? --=20 Regards, Dilip Kumar Google