Обсуждение: Maximum text and bytea size?

Поиск
Список
Период
Сортировка

Maximum text and bytea size?

От
Ludek Finstrle
Дата:
Hello,

  I'm not sure if I understand documentation the right way.
Is the maximum size for text and bytea types 2^30-1 bytes?
I read this value in TOAST section. Is my opinion correct?

Thanks,

Luf

Re: Maximum text and bytea size?

От
"Jim C. Nasby"
Дата:
On Thu, Jun 08, 2006 at 11:18:02AM +0200, Ludek Finstrle wrote:
> Hello,
>
>   I'm not sure if I understand documentation the right way.
> Is the maximum size for text and bytea types 2^30-1 bytes?
> I read this value in TOAST section. Is my opinion correct?

From http://www.postgresql.org/docs/8.1/interactive/storage-toast.html:
"TOAST usurps the high-order two bits of the varlena length word,
thereby limiting the logical size of any value of a TOAST-able data type
to 1Gb (2^30 - 1 bytes)."

There was a proposal made some time ago to allow for a variable-length
length word format, where one of the bits in each word would specify
that there was an additional length word. That would theoretically allow
for an unlimited size on verlena columns. I don't remember what the
outcome of that discussion was, though. You should be able to find it in
the archives with enough digging.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Re: Maximum text and bytea size?

От
Tom Lane
Дата:
"Jim C. Nasby" <jnasby@pervasive.com> writes:
> On Thu, Jun 08, 2006 at 11:18:02AM +0200, Ludek Finstrle wrote:
>> I read this value in TOAST section. Is my opinion correct?

> From http://www.postgresql.org/docs/8.1/interactive/storage-toast.html:
> "TOAST usurps the high-order two bits of the varlena length word,
> thereby limiting the logical size of any value of a TOAST-able data type
> to 1Gb (2^30 - 1 bytes)."

> There was a proposal made some time ago to allow for a variable-length
> length word format, where one of the bits in each word would specify
> that there was an additional length word.

Hm, I don't remember that.  It seems rather pointless, as I'm quite sure
that the *practical* limit is a great deal less than 1Gb.  Has anyone
done any performance testing of GB-sized toasted values?

            regards, tom lane

Re: Maximum text and bytea size?

От
"Jim C. Nasby"
Дата:
On Thu, Jun 08, 2006 at 11:55:02AM -0400, Tom Lane wrote:
> "Jim C. Nasby" <jnasby@pervasive.com> writes:
> > On Thu, Jun 08, 2006 at 11:18:02AM +0200, Ludek Finstrle wrote:
> >> I read this value in TOAST section. Is my opinion correct?
>
> > From http://www.postgresql.org/docs/8.1/interactive/storage-toast.html:
> > "TOAST usurps the high-order two bits of the varlena length word,
> > thereby limiting the logical size of any value of a TOAST-able data type
> > to 1Gb (2^30 - 1 bytes)."
>
> > There was a proposal made some time ago to allow for a variable-length
> > length word format, where one of the bits in each word would specify
> > that there was an additional length word.
>
> Hm, I don't remember that.  It seems rather pointless, as I'm quite sure
> that the *practical* limit is a great deal less than 1Gb.  Has anyone
> done any performance testing of GB-sized toasted values?

Given how toasted data is currently stored, you're probably correct. If
it was switched to a binary format that didn't have all the table/tuple
overheard (which I seem to recall a discussion about), it could be a
very different story.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461