Tuple Max Size on 7.1

Started by David Scholesalmost 25 years ago8 messagesgeneral
Jump to latest
#1David Scholes
david@cfourusa.com

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

This limit is being hit both from Perl and Coldfusion. I am using the
drivers that came with the 7.1 distribution. We are running on RedHat
7.0 and I used the RPM's to install.

My understanding was that this limit was removed in 7.1. Any ideas?

Thanks, David

#2David Scholes
david@cfourusa.com
In reply to: David Scholes (#1)

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

This limit is being hit both from Perl and Coldfusion. I am using the
drivers that came with the 7.1 distribution. We are running on RedHat 7.0
and I used the RPM's to install.

My understanding was that this limit was removed in 7.1. Any ideas?

Thanks, David

#3Joel Burton
jburton@scw.org
In reply to: David Scholes (#1)
Re: Tuple Max Size on 7.1

On Wed, 2 May 2001, David Scholes wrote:

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

This limit is being hit both from Perl and Coldfusion. I am using the
drivers that came with the 7.1 distribution. We are running on RedHat
7.0 and I used the RPM's to install.

My understanding was that this limit was removed in 7.1. Any ideas?

Hmm... are you *sure* this is 7.1? (SELECT version() will remove any
doubt).

Have you tried this w/psql, to isolate this from a Perl or
ColdFusion problem?

create table a ( f1 text );

insert into a select ('1234567890', 1000);

test=# select length(f1) from a;

length
--------
10000

This will show if you can insert a 10000-char row.

--
Joel Burton <jburton@scw.org>
Director of Information Systems, Support Center of Washington

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: David Scholes (#1)
Re: Tuple Max Size on 7.1

David Scholes <david@cfourusa.com> writes:

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

May we see the declaration of the table?

regards, tom lane

#5David Scholes
david@cfourusa.com
In reply to: Joel Burton (#3)
Re: Tuple Max Size on 7.1

Thanks Joel, the test you sent did work. So I assume the problem is in the
perl and odbc drivers that came with the PostgreSQL 7.1 RPM's. Are the
following RPM's up to date? postgresql-odbc-7.1-1.i386.rpm,
postgresql-perl-7.1-1.i386.rpm

test=# select version();
version
-----------------------------------------------------------
PostgreSQL 7.1 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)

test=# create table a ( f1 text );
CREATE
test=# insert into a select repeat('1234567890', 1000);
INSERT 1597272 1
test=# select length(f1) from a;
length
--------
10000
(1 row)

Joel Burton wrote:

Show quoted text

On Wed, 2 May 2001, David Scholes wrote:

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

This limit is being hit both from Perl and Coldfusion. I am using the
drivers that came with the 7.1 distribution. We are running on RedHat
7.0 and I used the RPM's to install.

My understanding was that this limit was removed in 7.1. Any ideas?

Hmm... are you *sure* this is 7.1? (SELECT version() will remove any
doubt).

Have you tried this w/psql, to isolate this from a Perl or
ColdFusion problem?

create table a ( f1 text );

insert into a select ('1234567890', 1000);

test=# select length(f1) from a;

length
--------
10000

This will show if you can insert a 10000-char row.

--
Joel Burton <jburton@scw.org>
Director of Information Systems, Support Center of Washington

#6Doug McNaught
doug@wireboard.com
In reply to: David Scholes (#1)
Re: Tuple Max Size on 7.1

David Scholes <david@cfourusa.com> writes:

When trying to do a large INSERT to a table in PostgreSQL 7.1, I get the
following error:
Tuple is too big: size 32112, max size 8140

This limit is being hit both from Perl and Coldfusion. I am using the
drivers that came with the 7.1 distribution. We are running on RedHat 7.0
and I used the RPM's to install.

My understanding was that this limit was removed in 7.1. Any ideas?

It's possible that the client drivers you're using weren't updated to
reflect the unlimited tuple size in 7.1. I know this happened with
the Perl driver just before 7.1 came out (ie it checked the tuple size
on the client end and barfed if it was over 8k), but I'm not sure
whether it was fixed in the release version. Don't know anything
about the CF client (I assume that's OBDC) but it may have a similar
problem.

-Doug
--
The rain man gave me two cures; he said jump right in,
The first was Texas medicine--the second was just railroad gin,
And like a fool I mixed them, and it strangled up my mind,
Now people just get uglier, and I got no sense of time... --Dylan

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Doug McNaught (#6)
Re: Tuple Max Size on 7.1

Doug McNaught <doug@wireboard.com> writes:

It's possible that the client drivers you're using weren't updated to
reflect the unlimited tuple size in 7.1.

No; the error he's quoting is an internal backend failure, so it's
not a client-side problem. It looks to me like TOAST is failing to
get the job done on compacting an oversize tuple, which is why I wanted
to know more about the table in question.

regards, tom lane

#8David Scholes
david@cfourusa.com
In reply to: David Scholes (#1)
Re: Tuple Max Size on 7.1

Sorry. Perl drivers are Okay. Our server was moved and pointing so I was
pointing to an old version.

After digging more into the CF problem it does appear to be the drivers. I
changed the odbc.ini file to point to the new drivers that come with the
distribution but CF still seems to try and use the old version. I renamed
the old libpgsqlodbc.so and then it quit working so it must have still been
using it. CF bundles the odbc drivers with it's release so I guess I need
to move things around to get it working. CF bundled unixODBC postgresql
drivers with their distribution. But from what I've read the odbc drivers
from the pgsql 7.1 should also work. Am I going to need to install the
unixODBC drivers instead?

Thanks, David

Tom Lane wrote:

Show quoted text

Doug McNaught <doug@wireboard.com> writes:

It's possible that the client drivers you're using weren't updated to
reflect the unlimited tuple size in 7.1.

No; the error he's quoting is an internal backend failure, so it's
not a client-side problem. It looks to me like TOAST is failing to
get the job done on compacting an oversize tuple, which is why I wanted
to know more about the table in question.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster