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 1wbUDU-002bOI-01 for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jun 2026 02:16:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbUDS-00441G-0X for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jun 2026 02:16:50 +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 1wbUDR-004418-1l for pgsql-hackers@lists.postgresql.org; Mon, 22 Jun 2026 02:16:49 +0000 Received: from mail-qt1-x834.google.com ([2607:f8b0:4864:20::834]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wbUDP-00000001WM8-3Lld for pgsql-hackers@lists.postgresql.org; Mon, 22 Jun 2026 02:16:48 +0000 Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-519ddebce3dso31177291cf.0 for ; Sun, 21 Jun 2026 19:16:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782094605; cv=none; d=google.com; s=arc-20240605; b=Zj2VAs+J9aeyR/xHVEfzKhMxpnxMWclcfymSM0MyeQSrnzMD6sn4LrNq84q55nwAVx E1sBcjAswAhsp/fojyMgoCmSjl69I93iRS9+ahMDtjx7MMqOh5tOBNqujSKiZ4pRxmsp OBCzESiz8jC/51OfNGJKbZIYYjoE52xXfTDKW5Gwy62j2vTKmUbzEIdW3FHVPlJI8ZuN JeQTdXXA1a5XQOeEUQlMLpQMtK+xqZiz6LtfDcbUcAFicBwDW9NHd6beFwBXDdmP6p79 /mqbWsmBy4XzyMOQe2K7hyiNM5J4UcGXsM0wLO5az4SbbPHFeCLV57IN+0mF0GzaFp+W VBRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=HtR3lRvplMfw24BMh85CAO335hG6KK9mCibl9fsf9mI=; fh=UalFx7S5S6pUhJrgPJ3E4CnDQmD7VmZqfmswkqKH2J0=; b=luUQO5cgZqg2cwHSTBSH5uuuaoOBiLR8f8j1bAfbd8ANczWeH07P0IphZMx+ZVr2Kz abMBlN3imgrkz/g1RDQFKsPBtn2Mmu/qU6cdHihj3dMVEu5SLIgBj9WuxHXiU2obJtf5 PKn1POIPgbgXZe/uaSYd0Dx/2d9K46RplEN7lzc/uvrAssaWPUb9Odq2qmakBxVD6vx0 0PbnegCuBlHJ0dAbINXgQB+7lWipMxdAlSpjHSWXZnUYkJHQNgS3E1dJCCAIOVrptQWy feuASYf4+JWX0drkajc5WuVcHbK8NUeFNAlR0g0fQ+q8t9dY0hiLF48PrAZ/S6vPU/n9 llzA==; 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=1782094605; x=1782699405; 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=HtR3lRvplMfw24BMh85CAO335hG6KK9mCibl9fsf9mI=; b=FZQdw88DaNJXjQKoyLps6+GlP7wfLLofWNZAso831xpb8/zyqAtlg4fl2gqF6vC4xu 1OgJC0N5W3p4LFDgAYtxCXSBbdLZPbDSVfSJxFCSOGpfhIjlHprVJKDB+OZagC+7GCvC SFiWIp6Mu9srfA1YEPchpzosYytASkm+qTxi/MMi5lbSCu/foVLtr/rrgePH2tQWQgdk 8g8YgIKDq9hBEAPjO3YHcYBwGRj4NC4z8Ci9qY3BgtVecQifqeIpKVHm2gPOe0HFvqDS 0fJybZCCG9bZ9pNqarEtVYH8+3C8MZkQ6/1na0OfRdGF5Nm2Pp5DOEsbyrdOgEj9LlqC 2liA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782094605; x=1782699405; 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=HtR3lRvplMfw24BMh85CAO335hG6KK9mCibl9fsf9mI=; b=W3o+XieUTty1+wbCblliH7CKQT7QwsJiusAlAOH4GmRIRocOzIJSP1JERzJwuioqcv N+ov46FCtlbD/lz+WWLx0jEF2h1YKCHSW3vE1HioFQMSI0WCS6ars5fSYpqD20f9XRLN hAtqftKhp0mTZqX4D904vflGWXVR+PdlRSBAGtsqo5bpDCrTDq2zjot+v9le32A4Ymci qn65QxegJrdKYe83jrqcL1CNZ4bL7viFZohQ1ZfzpNxmW86RLdlBMEA8ingC5Bxh5lBC zc5dGIy8JlcwjDb9fAnF+SQAeH4Dxkzx7PHSvRLNDDZNKBr4bBa8Na+Vwj4vjmHACpoc u4fA== X-Forwarded-Encrypted: i=1; AFNElJ+5B2WqrqqkkjTNe/G6ic0TB3xeWQJjwkfmb5DUiVkKuB64WrQKDigdX2NtJkFldr+Dw9aRWR5gS323VooY@lists.postgresql.org X-Gm-Message-State: AOJu0Yzg54+zXnZDblxUp+bg0HX65X6/MOBOL8QKot6e00357+XK1f3T nIL+fAwBJXnuPM4LKhpYpinODcxBXHATDFSyYea4M90mgEgCujwNxTPl1sUsnJ+lj6mh+37gVmA eyx8FOvPaVXhNruBSMn11R7tuvWoCLfA= X-Gm-Gg: AfdE7clj6EX0DydXRp/ke1HcNFLUZzaHKceZW7UxZFTv/gbf+5pRpe3SZVA+Gficf+l yABCVf9YYqF3rCAZ9iS5P8WnYNvJrJq2VORSQaGap3Hu3/OC0/uCz1Eo8L1qUtsXOiHQFBUv8rL VsX+bwF6GloW2LeQsXhkHeYZ+YGExcmZh365kERLhrNYBUA9/wrjg18/KedWzbHs/xj1Ukcimpt rGCPYaZ5erX0Be+IQUO6uJNUP+7NMpLD/iDsbrXFKkf+8OZ3dyl7YJpG7M0STXSD85o2H34MBCK YrTytuAMJw== X-Received: by 2002:a05:622a:401a:b0:516:e5c0:284d with SMTP id d75a77b69052e-519e4a5570dmr205946311cf.18.1782094605321; Sun, 21 Jun 2026 19:16:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Peter Smith Date: Mon, 22 Jun 2026 14:16:17 +1200 X-Gm-Features: AVVi8Ce-1sVCLkX_smkEnwbN6Zp0KHTS6ZKb9uVdBCXw8r69dmyE_y2V_pmSQys Message-ID: Subject: Re: Support EXCEPT for TABLES IN SCHEMA publications To: Nisha Moond Cc: Amit Kapila , Zsolt Parragi , pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Nisha. No further comments for patches v15-0001,0002,0003. But, here are some comments for v15-0004. ====== doc/src/sgml/ref/alter_publication.sgml 1. + + For FOR TABLES IN SCHEMA publications, the + EXCEPT clause is schema-scoped. If a table listed in + the EXCEPT clause is later moved to a different schema + using ALTER TABLE ... SET SCHEMA, the exclusion is + removed; the table will then be published if its new schema is part of a + publication. If the table is subsequently moved back to the original + schema, the exclusion is not restored, and must be re-established + explicitly using ALTER PUBLICATION. + IIRC the recent commit 77b6dd9 that explained about moving tables to other schemas, was only on the CREATE PUBLICATION page; not on the ALTER PUBLICATION page. So either: (a) maybe this entire paragraph is not needed, or (b) keep it, but then the behaviour for FOR ALL TABLES also needs to be described here ====== doc/src/sgml/ref/alter_publication.sgml 2. Once a table is excluded, the exclusion applies to that table regardless of its name or schema. Renaming the table or moving it to another schema using ALTER TABLE ... SET SCHEMA does not remove the exclusion. ~~ The recent commit 77b6dd9 added the above text to the CREATE PUBLICATION page. But, that was correct only for "FOR ALL TABLES" -- after your patch we can't say that unconditionally anymore. Also, since that is mentioned on the CREATE PUBLICATION page, I guess we need to say something similar about ALL TABLES IN SCHEMA ... EXCEPT in the same paragraph. So, maybe something like below: SUGGESTION Once a table is excluded under FOR ALL TABLES, the exclusion applies to that table, the exclusion applies to that table regardless of its name or schema. Renaming the table or moving it to another schema using ALTER TABLE ... SET SCHEMA does not remove the exclusion. However, for FOR TABLES IN SCHEMA, because the EXCEPT is schema-scoped, moving a schema-excluded table to another schema does remove the exclusion. ====== Kind Regards, Peter Smith. Fujitsu Australia