On 2019/03/05 8:47, Andres Freund wrote: > Hi, > > In the pluggable storage patch [1], one thing that I'm wondering about > is how exactly to inherit the storage AM across partitions. I think > that's potentially worthy of a discussion with a wider audience than I'd > get in that thread. It seems also related to the recent discussion in [2] > > Consider (excerpted from the tests): > > CREATE TABLE tableam_parted_heap2 (a text, b int) PARTITION BY list (a) USING > heap2; > > SET default_table_access_method = 'heap'; > CREATE TABLE tableam_parted_a_heap2 PARTITION OF tableam_parted_heap2 FOR > VALUES IN ('a'); > > SET default_table_access_method = 'heap2'; > CREATE TABLE tableam_parted_b_heap2 PARTITION OF tableam_parted_heap2 FOR > VALUES IN ('b'); > > CREATE TABLE tableam_parted_c_heap2 PARTITION OF tableam_parted_heap2 FOR > VALUES IN ('c') USING heap; > CREATE TABLE tableam_parted_d_heap2 PARTITION OF tableam_parted_heap2 FOR > VALUES IN ('d') USING heap2; > > It seems pretty clear that tableam_parted_heap2, tableam_parted_d_heap2 > would be stored via heap2, and tableam_parted_c_heap2 via heap. > > But for tableam_parted_a_heap2 tableam_parted_b_heap2 the answer isn't > quite as clear. I think it'd both be sensible for new partitions to > inherit the AM from the root, but it'd also be sensible to use the > current default.
Given that many people expected this behavior to be the sane one in other cases that came up, +1 to go this way. Thanks, Amit