Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxAuG-00082i-6Z for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Dec 2021 16:44:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mxAuF-0006ko-0C for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Dec 2021 16:43:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxAuE-0006kZ-Mw for pgsql-hackers@lists.postgresql.org; Tue, 14 Dec 2021 16:43:58 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxAu9-0000Aj-PF for pgsql-hackers@postgresql.org; Tue, 14 Dec 2021 16:43:57 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 4D40D5C03AC; Tue, 14 Dec 2021 11:43:52 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Tue, 14 Dec 2021 11:43:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=4Ai7ZjId91T9djrfbH3rMF2MTvy8somnaZk6fO5LoKQ=; b=gXKMlgAX IdAejptn8B0VmB+X6SScKKYaukdbRvwtZTQ/bPR4Zglblb+4zjirsmInjsHilcbl ENjoC/dywCfKh9d5dtqhaaeo89Q/dA8zbeKm8HbEQKDlu/21DExiTJ+6/t2U6yvM 18gINYW76g5YriHU1rBjTPCx2/kl/AGAojhhJ5t4htYlBt0HU2YpFv2liGrkrSua T27/ImSN6u2DfoDmAsIkXWQLF/qxtP1Plik+k/LFFSDsdPZsrnLlcE9LP79K7c7t +FpdYkrfgwMSHa0Rd3GBJt3aVunlOA5iUeyXtoWBTY53uyXO8KhpeKNOhu1uzvYf DIX6ELV5AwUcYg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrledtgdelvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkgggtugfgjgesthekredttddtjeenucfhrhhomheptehlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgheqne cuggftrfgrthhtvghrnhepudejveejffejveduudetvdekieeuiedtvdeileefkeevjedu feeguedvjefhueelnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenuc evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrlhhvhhgv rhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 14 Dec 2021 11:43:51 -0500 (EST) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 234212A0804; Tue, 14 Dec 2021 13:43:48 -0300 (-03) Date: Tue, 14 Dec 2021 13:43:48 -0300 From: Alvaro Herrera To: Rahila Syed Cc: Amit Kapila , Tomas Vondra , Peter Smith , PostgreSQL-development Subject: Re: Column Filtering in Logical Replication Message-ID: <202112141643.xerpcvfpi7bs@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202112132119.yicwcjkg2gi3@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2021-Dec-13, Alvaro Herrera wrote: > I think this means we need a new OBJECT_PUBLICATION_REL_COLUMN value in > the ObjectType (paralelling OBJECT_COLUMN), and no new ObjectClass > value. Looking now to confirm. After working on this a little bit more, I realized that this is a bad idea overall. It causes lots of complications and it's just not worth it. So I'm back at my original thought that we need to throw an ERROR at ALTER TABLE .. DROP COLUMN time if the column is part of a replication column filter, and suggest the user to remove the column from the filter first and reattempt the DROP COLUMN. This means that we need to support changing the column list of a table in a publication. I'm looking at implementing some form of ALTER PUBLICATION for that. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Find a bug in a program, and fix it, and the program will work today. Show the program how to find and fix a bug, and the program will work forever" (Oliver Silfridge)