On 2019/03/05 11:59, Amit Langote wrote: > 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.
Reading my own reply again, it may not be clear what I was +1'ing. I meant to vote for the behavior that David described in his reply. Thanks, Amit