On Wed, Jan 17, 2018 at 5:32 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Tue, Jan 16, 2018 at 5:13 AM, Amit Langote
> <Langote_Amit_f8@lab.ntt.co.jp> wrote:
>> I used to think that $subject didn't happen, but it actually does and ends
>> up consuming a fixed 8192 bytes on the disk.
>>
>> create table p (a int[]) partition by list (a);
>> CREATE TABLE
>>
>> select pg_table_size('p');
>> pg_table_size
>> ---------------
>> 8192
>> (1 row)
>>
>> select pg_relation_size(c1.oid) as p_size,
>> pg_relation_size(c1.reltoastrelid) as p_toast_heap_size,
>> pg_relation_size(c2.oid) as p_toast_index_size
>> from pg_class c1, pg_class c2, pg_index i
>> where c1.relname = 'p' and
>> c1.reltoastrelid = i.indrelid and
>> c2.oid = i.indexrelid;
>> p_size | p_toast_heap_size | p_toast_index_size
>> --------+-------------------+--------------------
>> 0 | 0 | 8192
>> (1 row)
>
> Aargh. Will apply this patch break pg_upgrade from v10?
AFAICS, it doesn't. Partitioned tables that used to have a TOAST
table in v10 cluster will continue to have it after upgrading.
Whereas, any partitioned tables created with the patched won't have a
TOAST table.
Thanks,
Amit