Thread: tuple too big error

tuple too big error

From
Karl Schmid
Date:
Hi all,

when I try to insert a long string (100 kByte) into a 'text' field using the
following command:

INSERT INTO clone (clone_code1, seq)
VALUES ('TEL1N','CCCTAAACCCTAAA...<about 100,000 characters of DNA
sequence>'),

I get the following error message:

ERROR:  Tuple is too big: size 104228, max size 8140

If I understand the docs correctly, there is no length restriction in text
fields and the above instruction should work.

Did I overlook something? Is it necessary to import such a long string as a
large object?

I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.

Thank you,

Karl

----------------------------------------------------------------------
Dr. Karl Schmid
Max-Planck-Institute for Chemical Ecology
Carl-Zeiss-Promenade 10                 Tel: +49 3641 / 643658
07745 Jena                                      Fax: +49 3641 / 643669
Germany                                       Email: schmid@ice.mpg.de
======================================================================


Re: tuple too big error

From
Einar Karttunen
Date:
On Wed, 4 Apr 2001, Karl Schmid wrote:
> Hi all,
>
> when I try to insert a long string (100 kByte) into a 'text' field using the
> following command:
>
> INSERT INTO clone (clone_code1, seq)
> VALUES ('TEL1N','CCCTAAACCCTAAA...<about 100,000 characters of DNA
> sequence>'),
>
> I get the following error message:
>
> ERROR:  Tuple is too big: size 104228, max size 8140
>
> If I understand the docs correctly, there is no length restriction in text
> fields and the above instruction should work.
>
> Did I overlook something? Is it necessary to import such a long string as a
> large object?
>
> I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.
>
PosrgreSQL 7.0.x has a compiletime tuplesize limit which is by default
8kb. This limitation doesn't exist in the 7.1 version, so I would suggest
getting it from ftp://ftp.postgresql.org/pub/dev/. It is still RC2, but
I think it can already be used in noncritical enviroments. Using large
objects is not a very good idea, because it is imho very cumbersome
in this case.

- Einar Karttunen


Re: tuple too big error

From
"Poul L. Christiansen"
Date:
There is a max. tuple length of 8KB in PostgreSQL 7.0.3.

This limitation has been removed in ver. 7.1, which will be released soon.

My advise is too use PostgreSQL 7.1RC2, which is very stable, to get
around this problem.

Poul L. Christiansen

On Wed, 4 Apr 2001, Karl Schmid wrote:

> Hi all,
>
> when I try to insert a long string (100 kByte) into a 'text' field using the
> following command:
>
> INSERT INTO clone (clone_code1, seq)
> VALUES ('TEL1N','CCCTAAACCCTAAA...<about 100,000 characters of DNA
> sequence>'),
>
> I get the following error message:
>
> ERROR:  Tuple is too big: size 104228, max size 8140
>
> If I understand the docs correctly, there is no length restriction in text
> fields and the above instruction should work.
>
> Did I overlook something? Is it necessary to import such a long string as a
> large object?
>
> I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.
>
> Thank you,
>
> Karl
>
> ----------------------------------------------------------------------
> Dr. Karl Schmid
> Max-Planck-Institute for Chemical Ecology
> Carl-Zeiss-Promenade 10                 Tel: +49 3641 / 643658
> 07745 Jena                                      Fax: +49 3641 / 643669
> Germany                                       Email: schmid@ice.mpg.de
> ======================================================================
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>


Re: tuple too big error

From
Marko Kreen
Date:
On Wed, Apr 04, 2001 at 08:47:57AM +0200, Karl Schmid wrote:
> I get the following error message:
>
> ERROR:  Tuple is too big: size 104228, max size 8140
>
> If I understand the docs correctly, there is no length restriction in text
> fields and the above instruction should work.
>
> Did I overlook something? Is it necessary to import such a long string as a
> large object?
>
> I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.

Sorry, the length restriction is removed in PostgreSQL 7.1.  In
7.0 you should use LO's, yes.  Buf as the 7.1 is in the version
7.1rc2 you could try it out too...

--
marko


Re: tuple too big error

From
"Richard Huxton"
Date:
From: "Karl Schmid" <schmid@ice.mpg.de>

> Hi all,
>
> when I try to insert a long string (100 kByte) into a 'text' field using
the
> following command:

> ERROR:  Tuple is too big: size 104228, max size 8140
>
> If I understand the docs correctly, there is no length restriction in text
> fields and the above instruction should work.
>
> Did I overlook something? Is it necessary to import such a long string as
a
> large object?
>
> I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.

Afraid you have overlooked something - the 8k row limit applies to text
fields too. You'll either need to use 7.1 (at release candidate stage) where
this limit no longer applies, or large-objects.

- Richard Huxton


Re: tuple too big error

From
Gavin Sherry
Date:
Richard,

On Wed, 4 Apr 2001, Richard Huxton wrote:

> >
> > Did I overlook something? Is it necessary to import such a long string as
> a
> > large object?
> >
> > I am using PostgreSQL 7.0.3 under SuSE Linux 7.1.
>
> Afraid you have overlooked something - the 8k row limit applies to text
> fields too. You'll either need to use 7.1 (at release candidate stage) where
> this limit no longer applies, or large-objects.

Main problem with large objects with postgres 7.0 series (and before
this) is that ext2 does not scale well when number of hard links in a
given directory grows to anything like what I would expect a database with
DNA sequences in it would require.

I believe some directory splitting was planned for 7.1 release but I have
not seen this in the beta releases.

Gavin


Re: tuple too big error

From
Neil Conway
Date:
On Wed, Apr 04, 2001 at 06:45:39PM +1000, Gavin Sherry wrote:
> Main problem with large objects with postgres 7.0 series (and before
> this) is that ext2 does not scale well when number of hard links in a
> given directory grows to anything like what I would expect a database with
> DNA sequences in it would require.
>
> I believe some directory splitting was planned for 7.1 release but I have
> not seen this in the beta releases.

AFAIK, in 7.1 LOs are all stored in a single file, so this is no longer
a concern.

You could also use a filesystem without the O(n) directory lookup of
traditional UNIX filesystems: I think ReiserFS has this, but I'm not
sure.

Cheers,

Neil

--
Neil Conway <neilconway@home.com>
Get my GnuPG key from: http://klamath.dyndns.org/mykey.asc
Encrypted mail welcomed

I've made up my mind.  Don't try to confuse me with the facts.
        -- Indiana Senator Earl Landgrebe