Subject: Re: table inheritance versus column compression and storage settings

From: Peter Eisentraut <[email-masked]>
Date: Thu, 21 Mar 2024 10:49:47 +0100

On 07.03.24 17:54, Ashutosh Bapat wrote:
> The pg_dump problems arise because we throw an error when parents have 
> conflicting compression and storage properties. The patch that got 
> reverted, changed this slightly by allowing a child to override parent's 
> properties even when they conflict. It still threw an error when child 
> didn't override and parents conflicted. I guess, MergeAttributes() 
> raises error when it encounters parents with conflicting properties 
> because it can not decide which of the conflicting properties the child 
> should inherit. Instead it could just set the DEFAULT properties when 
> parent properties conflict but child doesn't override. Thus when 
> compression conflicts, child's compression would be set to default and 
> when storage conflicts it will be set to the type's default storage. 
> Child's properties when specified explicitly would override always. This 
> will solve all the pg_dump bugs we saw with the reverted patch and also 
> existing bug I reported earlier.
> 
> This change would break backward compatibility but I don't think anybody 
> would rely on error being thrown when parent properties conflict.
> 
> What do you think?

At this point in the development cycle, I would rather not undertake 
such changes.  We have already discovered with the previous attempt that 
there are unexpected pitfalls and lacking test coverage.  Also, there 
isn't even a patch yet.  I suggest we drop this for now, or reconsider 
it for PG18, as you wish.

---

From: Ashutosh Bapat <[email-masked]>
Date: Thu, 21 Mar 2024 16:46:29 +0530

> it for PG18, as you wish.
I am fine with this. Should I mark the CF entry as RWF?

-- 
Best Wishes,
Ashutosh Bapat