Thread: Max tuple size.

Max tuple size.

From
darrenk@insightdist.com (Darren King)
Date:
This comes up since the varchar will no longer be padded...

Should the user be allowed to create a table with fields that
would go over the maximum tuple size if all fields were max'd?

Example...with a block size of 8192...

create table foo (a varchar(4000), b varchar(4000), c varchar(500));

It's possible that a valid tuple according to the table definition
will be rejected internally.

6.2 lets me create the above table, but won't let me insert in it
unless at least one of the fields is null.  6.3 will allow the row
as long as they collectively aren't more than the MAXTUPLEN.

Should postgres issue a warning or an error about this condition
when the table is created?

darrenk

Re: [HACKERS] Max tuple size.

From
Bruce Momjian
Date:
>
>
> This comes up since the varchar will no longer be padded...
>
> Should the user be allowed to create a table with fields that
> would go over the maximum tuple size if all fields were max'd?

Yes, text does not do checking, and certainly a table with three text
fields can go over the maximum.

>
> Example...with a block size of 8192...
>
> create table foo (a varchar(4000), b varchar(4000), c varchar(500));
>
> It's possible that a valid tuple according to the table definition
> will be rejected internally.
>
> 6.2 lets me create the above table, but won't let me insert in it
> unless at least one of the fields is null.  6.3 will allow the row
> as long as they collectively aren't more than the MAXTUPLEN.

IMHO, that is good.

> Should postgres issue a warning or an error about this condition
> when the table is created?


--
Bruce Momjian
maillist@candle.pha.pa.us