On 2024-Nov-07, Amit Langote wrote:
> On Wed, Nov 6, 2024 at 9:34 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> > Oh, hmm, that makes sense I guess. Still, while this restriction makes
> > sense for inheritance, it doesn't IMO for partitioned tables. I would
> > even suggest that we drop enforcement of this restriction during ATTACH.
>
> I agree. Since leaf partitions have no children to propagate
> constraints to, the NO INHERIT mark shouldn't matter. And partitioned
> partitions already disallow NO INHERIT constraints as you mentioned.
>
> Do you think we should apply something like the attached at least in
> the master? I found that a similar restriction exists in the CREATE
> TABLE PARTITION OF path too.
Yeah, that sounds reasonable. I didn't look at the code in detail, but
I'm not sure I understand why you'd change CREATE TABLE PARTITION OF,
since the point is that this restriction would apply when you attach a
table that already exists, not when you create a new table. Maybe I
misunderstand what you're saying though.
> +1
Thanks, pushed.
> Though if we decide to apply the attached, does the note "not marked
> NO INHERIT" become unnecessary?
Yes -- I think your patch would have to remove it again. A short-lived
note for sure, but I thought it was better to have all branches in the
same state, and now you can modify master.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/