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 1pDuh7-0007VP-FP for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Jan 2023 21:56:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pDuh5-000447-Eo for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Jan 2023 21:56:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pDuh5-00042v-3s for pgsql-hackers@lists.postgresql.org; Fri, 06 Jan 2023 21:56:07 +0000 Received: from mail-oa1-x2c.google.com ([2001:4860:4864:20::2c]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pDugy-0001G1-Nu for pgsql-hackers@lists.postgresql.org; Fri, 06 Jan 2023 21:56:06 +0000 Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-1441d7d40c6so3032485fac.8 for ; Fri, 06 Jan 2023 13:56:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timescale.com; s=google; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=L8k4+XMgF3Gvbp3fIqeVNsETdP+mS5A97PmBc4tIdIg=; b=mlIx2PBQxkwN1T+GZzy61hOGBW4d/vLPyXEvnLsv7j5WB2rr++Usdv+W5OwDABQMET 0fpzIR365CPAmCPxcUc3QupFuGgRBhQbAk/OCIHsRc7jgT2zb0YlQzc+yDmfddVl3E90 SHPYr9iJsQAwyvRih5YLAQGZrwWDjBNQDoKWENVz2djI3yh210SdepQRnU+PTIYZJnZ1 zSi8go+9azSbR/a5NfE6hmkkq6y+93XMhnpxdWsJY34xFU7yO1AZq1SdhrNEqyFWlsKW OZyyQcUZMYapnlyWoW7NNZ9wpJd0tJZZ5RxegY3o0IaH1MIHNGXG3WoXpR0zlaDS/99u VEeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L8k4+XMgF3Gvbp3fIqeVNsETdP+mS5A97PmBc4tIdIg=; b=PJk/Ynwh60xgiD7FXk8LCSbtgYpVzP+x6wBIGNhjZkQQmylOPTpTGDOxw9ea9Js/UT 7FFiZnY4tpqca3WktTSWssNDT1cp7Tvg9dMn53UIw4vh/KU4TUHtZ+7JEDP3gO18t2Pn 9gAqgBML64M4ceFykO4flYDtiU2RhCS/3scY3H0YfgPP5X7nOm7CKMVeOUm1O7s4QUvS 6iNfBpOYlZrK5vZClanVfG5VmGSXtDbPG191aQcxIpL8LnI+P89cVUsCDyAa2VlJ6VRa fVzDOBLvGyFIPo3mfkDT5tt5yVU95BzDQuR5xG3MbKfN54CCfUvht7FQKA1QroojFQBW JjOw== X-Gm-Message-State: AFqh2kqZ74jZCfz8Rxp5Eqtx7PdztUeTtytoUz8a86NmQvUiJVelH64v 6YIig1Tb2Ez3CAejpCr6D10T6EjFN3Q1SQ3zmswdsuC2JBgv1Mge1zc= X-Google-Smtp-Source: AMrXdXtu+4z0RI+7RBNsF32n5GJFcY+xHCnFHa6Z9oWGzLrc+sose0ceBSFuUE3arDrftNuvNn+6/GRlChAHWHOP2FI= X-Received: by 2002:a05:6871:890:b0:144:b4d9:4a37 with SMTP id r16-20020a056871089000b00144b4d94a37mr3083331oaq.117.1673042158481; Fri, 06 Jan 2023 13:55:58 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Fri, 6 Jan 2023 13:55:47 -0800 Message-ID: Subject: Re: RFC: logical publication via inheritance root? To: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Dec 9, 2022 at 10:21 AM Jacob Champion wrote: > Some inheritance hierarchies won't be "partitioned" hierarchies, of > course, but the user can simply not set that replication option for > those publications. The more I noodle around with this approach, the less I like it: it feels overly brittle, we have to deal with multiple inheritance somehow, and there seem to be many code paths that need to be partially duplicated. And my suggestion that the user could just opt out of problematic cases would be a bad user experience, since any non-partition inheritance hierarchies would just silently break. Instead... > (Alternatively, I can imagine a system where an > extension explicitly marks a table as having a different "publication > root", and then handling that marker with the existing replication > option. But that may be overengineering things.) ...I'm going to try this approach next, since it's opt-in and may be able to better use the existing code paths. --Jacob