Thread: tuple too big error
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 ======================================================================
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
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 >
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
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
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
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