Re: [BUGS] vacuum analyze corrupts db with larger tuples (< 8k)

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dirk Lutzebaeck <lutzeb@aeccom.com>
Cc: pgsql-bugs@postgreSQL.org
Date: 2000-01-04T16:12:38Z
Lists: pgsql-bugs
Dirk Lutzebaeck <lutzeb@aeccom.com> writes:
> ok, here is what I have found out on 6.5.3, Linux 2.2.10:
> [ make table with a bunch of almost-5K varchar fields ]
> # vacuumdb --analyze test
> ERROR:  Tuple is too big: size 9604
> vacuumdb: database vacuum failed on test.

Ohhh ... I know what's going on.  The oversize tuple is the one that
VACUUM is attempting to store in pg_statistic, containing the min and
max values for your varchar column.  In this example, both the min and
max are just shy of 5K characters, so the pg_statistic tuple is too
big to fit on a page.

I had already patched this in current sources, by the expedient of not
trying to store a pg_statistic tuple at all if it's too big.  (Then
you don't get stats for that particular column, but the stats probably
wouldn't be useful anyway.)

I suppose I should make up a back-patch for REL6_5 with this fix.

			regards, tom lane