Re: TOAST table created for partitioned tables

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: TOAST table created for partitioned tables
Date: 2018-01-17 04:09:52
Message-ID: CA+HiwqG+LA2gyk7ish3EGw5ZR=sUN4YPe4kqa5LQoFdxjUVvSw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 17, 2018 at 5:32 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Tue, Jan 16, 2018 at 5:13 AM, Amit Langote
> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-01-17 04:38:07 Re: [HACKERS] replace GrantObjectType with ObjectType
Previous Message David Rowley 2018-01-17 04:05:44 Re: [Sender Address Forgery]Re: [Sender Address Forgery]Re: [HACKERS] path toward faster partition pruning