Re: TOASTing smaller things - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: TOASTing smaller things |
Date | |
Msg-id | 200703270039.l2R0dsN11777@momjian.us Whole thread Raw |
In response to | Re: TOASTing smaller things ("Luke Lonergan" <llonergan@greenplum.com>) |
Responses |
Re: TOASTing smaller things
|
List | pgsql-hackers |
Luke Lonergan wrote: > I advocate the following: > > - Enable specification of TOAST policy on a per column basis > > As a first step, then: > > - Enable vertical partitioning of tables using per-column specification of > storage policy. > How are these different from ALTER TABLE SET STORAGE? They need to be more specific. --------------------------------------------------------------------------- > - Luke > > > On 3/21/07 1:12 PM, "Bruce Momjian" <bruce@momjian.us> wrote: > > > > > Is this a TODO? > > > > --------------------------------------------------------------------------- > > > > Jan Wieck wrote: > >> On 3/21/2007 2:05 PM, Tom Lane wrote: > >>> Chris Browne <cbbrowne@acm.org> writes: > >>>> #define TOAST_DENOMINATOR 17 > >>>> /* Use this as the divisor; current default behaviour falls from > >>>> TOAST_DENOMINATOR = 4 */ > >>> > >>>> #define TOAST_TUPLE_THRESHOLD^I\ > >>>> ^IMAXALIGN_DOWN((BLCKSZ - \ > >>>> ^I^I^I^I MAXALIGN(sizeof(PageHeaderData) + 3 * sizeof(ItemIdData))) \ > >>>> ^I^I^I^I / TOAST_DENOMINATOR) > >>> > >>> Given that you are quoting code that was demonstrably broken since the > >>> original coding of TOAST up till a month or two back, "it passes > >>> regression" is not adequate proof of "it's right". In fact I think > >>> it's not right; you have not got the roundoff condition straight. > >>> > >>>> 4. A different mechanism would be to add a fifth storage column > >>>> strategy (the present four are PLAIN, EXTENDED, EXTERNAL, MAIN), let's > >>>> say, TOAST. > >> > >> FORCE_COMPRESSION, FORCE_EXTERNAL and FORCE_EXTERNAL_UNCOMPRESSED. > >> > >>> > >>> Anything along this line would require invoking the toaster on every > >>> single tuple, since we'd always have to crawl through all the columns > >>> to see if toasting was supposed to happen. No thanks. > >> > >> Not necessarily. A flag in Relation telling if the table has any column > >> marked like that could be set while constructing the relcache entry. > >> > >>> > >>>> Which of these sounds preferable? > >>> > >>> It's a bit late in the cycle to be proposing any of these for 8.3. > >> > >> Certainly. > >> > >> > >> Jan > >> > >> -- > >> #======================================================================# > >> # It's easier to get forgiveness for being wrong than for being right. # > >> # Let's break this rule - forgive me. # > >> #================================================== JanWieck@Yahoo.com # > >> > >> ---------------------------(end of broadcast)--------------------------- > >> TIP 2: Don't 'kill -9' the postmaster -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
pgsql-hackers by date: