Re: MAIN, Uncompressed?

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Stark <stark(at)mit(dot)edu>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MAIN, Uncompressed?
Date: 2017-08-29 06:58:51
Message-ID: CANP8+jKusq2WzCYahZe7CqZ5n+qpuid++nR8LM2KU434GR6Xdg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 26 August 2017 at 05:40, Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz> wrote:
> On 26/08/17 12:18, Simon Riggs wrote:
>
>> On 25 August 2017 at 20:53, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>
>>> Greg Stark <stark(at)mit(dot)edu> writes:
>>>>
>>>> I think this is a particularly old piece of code and we're lucky the
>>>> default heuristics have served well for all this time because I doubt
>>>> many people fiddle with these storage attributes. The time may have
>>>> come to come up with a better UI for the storage attributes because
>>>> people are doing new things (like json) and wanting more control over
>>>> this heuristic.
>>>
>>> Yeah, I could get behind a basic rethinking of the tuptoaster control
>>> knobs. I'm just not in love with Simon's specific proposal, especially
>>> not if we can't think of a better name for it than "MAINU".
>>
>> Extended/External would be just fine if you could set the toast
>> target, so I think a better suggestion would be to make "toast_target"
>> a per-attribute option .
>>
>
> +1, have thought about this myself previously....thank you for bringing it
> up!

OK, so table-level option for "toast_tuple_target", not attribute-level option

The attached patch and test shows this concept is useful and doesn't
affect existing data.

For 4x 4000 byte rows:
* by default we use 1 heap block and 3 toast blocks
* toast_tuple_target=4080 uses 2 heap blocks and 0 toast blocks

--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
toast_tuple_target.v1.patch application/octet-stream 8.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mithun Cy 2017-08-29 07:09:42 Re: POC: Cache data in GetSnapshotData()
Previous Message Michael Paquier 2017-08-29 06:34:24 Re: standby server crashes hard on out-of-disk-space in HEAD