From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | adrian(dot)klaver(at)gmail(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org, Rob Gansevles <rgansevles(at)gmail(dot)com> |
Subject: | Re: Maximum size for char or varchar with limit |
Date: | 2010-12-08 16:04:07 |
Message-ID: | 15790.1291824247@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com> writes:
> So the answer is, it depends on your encoding.
No, it doesn't. What Rob is looking for is this bit in htup.h:
/*
* MaxAttrSize is a somewhat arbitrary upper limit on the declared size of
* data fields of char(n) and similar types. It need not have anything
* directly to do with the *actual* upper limit of varlena values, which
* is currently 1Gb (see TOAST structures in postgres.h). I've set it
* at 10Mb which seems like a reasonable number --- tgl 8/6/00.
*/
#define MaxAttrSize (10 * 1024 * 1024)
The rationale for having a limit of this sort is (a) we *don't* want
the upper limit of declarable length to be encoding-dependent; and
(b) if you are trying to declare an upper limit that's got more than a
few digits in it, you almost certainly ought to not be declaring a limit
at all.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Gansevles | 2010-12-08 16:36:13 | Re: Maximum size for char or varchar with limit |
Previous Message | Merlin Moncure | 2010-12-08 15:32:02 | Re: Asynchronous query execution |