Re: Maximum size for char or varchar with limit

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: Maximum size for char or varchar with limit
Дата
Msg-id 4CFFB454.4020807@gmail.com
обсуждение исходный текст
Ответ на Re: Maximum size for char or varchar with limit  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Maximum size for char or varchar with limit  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On 12/08/2010 08:04 AM, Tom Lane wrote:
> Adrian Klaver<adrian.klaver@gmail.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

Well that explains it :) Would it be possible to change the below
section in the docs to state that the declared max value of n is limited
to a max string size of 10Mb? I have always taken it to mean that the
max value was calculated based off the encoding. Then again it might
just be me.

"The maximum value that will be allowed for n in the data type
declaration is less than that. It wouldn't be useful to change this
because with multibyte character encodings the number of characters and
bytes can be quite different."

--
Adrian Klaver
adrian.klaver@gmail.com

В списке pgsql-general по дате отправления:

Предыдущее
От: Rob Gansevles
Дата:
Сообщение: Re: Maximum size for char or varchar with limit
Следующее
От: Gabi Julien
Дата:
Сообщение: Re: Postgresql 9.1 pg_last_xact_replay_timestamp limitations