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 1oNzzj-0002wf-Jf for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2022 17:04:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oNzzi-0000GL-2c for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2022 17:04:46 +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 1oNzzh-0000GC-Ij for pgsql-hackers@lists.postgresql.org; Tue, 16 Aug 2022 17:04:45 +0000 Received: from mail-oi1-x22a.google.com ([2607:f8b0:4864:20::22a]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oNzza-0003Hq-VO for pgsql-hackers@postgresql.org; Tue, 16 Aug 2022 17:04:44 +0000 Received: by mail-oi1-x22a.google.com with SMTP id j5so12699205oih.6 for ; Tue, 16 Aug 2022 10:04:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=XBmzJh9+GuEzdR8jVYdd7ioPT3Pls44BWTXgr3+C6eA=; b=KFVdg0ZVBMp7HSTe9snCXxhIsbk94R+blEVFt65LGRxMobcBY1XqjKiPGQnQGmy4Mu Vs2yvR+0KnfNsF6GnmrPmjptPRQjrHvIFivEWmwZHd9b5TgytrgsuV2Vd6pQ1abGrWFR jw4J6QAUqEnxqs3H3GIlLQZV8AAf6fVJRXoj5ZFTr+nprAaLNBsYn0UKtqCW19FjssZt NV/2Vd973BGHw6oB3XMmmm72zdErC4AXWk9FP59s4EI1CRV51j9l/fbVwNnim9JNACgT a5ary7714np9XPHc53PKREE1YCiAbeAzMJ1QC75WfGtOhK8fANUy53T1fBXZR+GQDabw HQfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=XBmzJh9+GuEzdR8jVYdd7ioPT3Pls44BWTXgr3+C6eA=; b=2skVJDCtU2kUzCRAsgsq20UqjCWzZGg8iFg7rU4p3unm0iCfHjrZX15SAIWx65gmCx yYpCg7CuD9KdInkcWKpTGKOq0yz4KrxB8ldcJ9CNRqbJHfVurzJvDwSbOLpD5ezsRED7 /04k7p8FL3g8bDWXr4w6DiVS8R6nzOgY9fr0+ee1rEo2D6wQ5gK2pRxgiMDRYGiGabZt Byi7hVVzA5ZLAdGzVXip1/+MO9jCXoXiDSPBwh2gCscQqrqFDA1jG76Kd6YVB9QtGJY/ U0fFO2E2MRUEFm/r+xybCPjZgRxli/hXEHr2pDIiEWagcH5SgFzBpsWWGBgycdRKBQ9Y L7sQ== X-Gm-Message-State: ACgBeo0IqV0QKp4dU+bpMnnV2QpbenbKTY5tNpxZiXInXI8zKTsNgtFn OKtNE8eFNPJYA1qdTKDC57ha+9fC/6m1CGk/kc+7OlG7P/hvbA== X-Google-Smtp-Source: AA6agR7olzQRRdQqAQc+rvIC3ShTw0xJbeGmIUlF591776tMN4c+IZxvO5mHIvW0+gJiqTsBh1xJZ6R6K3+xK+RSfak= X-Received: by 2002:a05:6808:1412:b0:342:ff44:6e5d with SMTP id w18-20020a056808141200b00342ff446e5dmr13550987oiv.160.1660669478122; Tue, 16 Aug 2022 10:04:38 -0700 (PDT) MIME-Version: 1.0 References: <15691075-5172-ad49-e7ae-89b82c1f0cfc@enterprisedb.com> <202112101323.gdbduksd5w5z@alvherre.pgsql> In-Reply-To: From: vignesh C Date: Tue, 16 Aug 2022 22:34:26 +0530 Message-ID: Subject: Re: Column Filtering in Logical Replication To: Peter Smith Cc: Amit Kapila , Alvaro Herrera , Peter Eisentraut , PostgreSQL-development Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Aug 8, 2022 at 2:08 PM Peter Smith wrote: > > PSA patch version v1* for a new "Column Lists" pgdocs section > > This is just a first draft, but I wanted to post it as-is, with the > hope that I can get some feedback while continuing to work on it. Few comments: 1) Row filters mentions that "It has no effect on TRUNCATE commands.", the same is not present in case of column filters. We should keep the changes similarly for consistency. --- a/doc/src/sgml/ref/create_publication.sgml +++ b/doc/src/sgml/ref/create_publication.sgml @@ -90,8 +90,7 @@ CREATE PUBLICATION name When a column list is specified, only the named columns are replicated. If no column list is specified, all columns of the table are replicated - through this publication, including any columns added later. If a column - list is specified, it must include the replica identity columns. + through this publication, including any columns added later. 2) The document says that "if the table uses REPLICA IDENTITY FULL, specifying a column list is not allowed.": + publishes only INSERT operations. Furthermore, if the + table uses REPLICA IDENTITY FULL, specifying a column + list is not allowed. + Did you mean specifying a column list during create publication for REPLICA IDENTITY FULL table like below scenario: postgres=# create table t2(c1 int, c2 int, c3 int); CREATE TABLE postgres=# alter table t2 replica identity full ; ALTER TABLE postgres=# create publication pub1 for table t2(c1,c2); CREATE PUBLICATION If so, the document says specifying column list is not allowed, but creating a publication with column list on replica identity full was successful. Regards, Vignesh