Re: Design strategy for table with many attributes

From: Lok P <loknath(dot)73(at)gmail(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: Guyren Howe <guyren(at)gmail(dot)com>, pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Design strategy for table with many attributes
Date: 2024-07-05 08:53:17
Message-ID: CAKna9Vah53TtUX9qYpDz0hPoAFSLUBqtzriWU=xy8vCWQU+Leg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 5 Jul, 2024, 1:44 pm David Rowley, <dgrowleyml(at)gmail(dot)com> wrote:

> On Fri, 5 Jul 2024 at 19:53, Lok P <loknath(dot)73(at)gmail(dot)com> wrote:
> > As David suggested it breaks if a row exceeds the 8k limit I. E a single
> page size , will that still holds true if we have a column with JSON in it?
>
> You wouldn't be at risk of the same tuple length problem if you
> reduced the column count and stored the additional details in JSON.
> Each varlena column is either stored in the tuple inline, or toasted
> and stored out of line. Out of line values need an 18-byte pointer to
> the toasted data. That pointer contributes to the tuple length.
>
>
> David
>

Got it. Thank you very much.

So there would be performance overhead with JSON and we need to validate
that carefully, if at all going in that direction.

However out of curiosity, if the roasted/compressed component or column
which is JSON itself goes beyond 8k post compression, will it break then?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2024-07-05 08:58:35 Re: Design strategy for table with many attributes
Previous Message David Rowley 2024-07-05 08:13:54 Re: Design strategy for table with many attributes