Re: table inheritance versus column compression and storage settings - Mailing list pgsql-hackers

From Ashutosh Bapat
Subject Re: table inheritance versus column compression and storage settings
Date
Msg-id CAExHW5u0QCc18-sueHmiw_VFDDYPokYcCs5spJBvV4dgZx7cRQ@mail.gmail.com
Whole thread Raw
In response to Re: table inheritance versus column compression and storage settings  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: table inheritance versus column compression and storage settings
List pgsql-hackers
On Tue, Feb 20, 2024 at 3:51 PM Peter Eisentraut <peter@eisentraut.org> wrote:
>
> I have reverted the patch for now (and re-opened the commitfest entry).
> We should continue to work on this and see if we can at least try to get
> the pg_dump test coverage suitable.
>

I have started a separate thread for dump/restore test. [1].

Using that test, I found an existing bug:
Consider
CREATE TABLE cminh6 (f1 TEXT);
ALTER TABLE cminh6 INHERIT cmparent1;
f1 remains without compression even after inherit per the current code.
But pg_dump dumps it out as
CREATE TABLE cminh6 (f1 TEXT) INHERIT(cmparent1)
Because of this after restoring cminh6::f1 inherits compression of
cmparent1. So before dump cminh6::f1 has no compression and after
restore it has compression.

I am not sure how to fix this. We want inheritance children to have
their on compression. So ALTER TABLE ... INHERIT ... no passing a
compression onto child is fine. CREATE TABLE .... INHERIT ... passing
compression onto the child being created also looks fine since that's
what we do with other attributes. Only solution I see is to introduce
"none" as a special compression method to indicate "no compression"
and store that instead of NULL in attcompression column. That looks
ugly.

Similar is the case with storage.

[1] https://www.postgresql.org/message-id/CAExHW5uF5V=Cjecx3_Z=7xfh4rg2Wf61PT+hfquzjBqouRzQJQ@mail.gmail.com

--
Best Wishes,
Ashutosh Bapat



pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: Add missing error codes to PANIC/FATAL error reports in xlog.c and relcache.c
Next
From: Bertrand Drouvot
Date:
Subject: Re: Synchronizing slots from primary to standby