Cleaning bloated pg_attribute - Mailing list pgsql-performance

From Michal Taborsky
Subject Cleaning bloated pg_attribute
Date
Msg-id 42A957E9.8040909@mall.cz
Whole thread Raw
Responses Re: Cleaning bloated pg_attribute
List pgsql-performance
I managed, by extensive usage of temporary tables, to totally bloat
pg_attribute. It currently has about 40000 pages with just 3000 tuples.
The question is, how to restore it to it's former beauty? With ordinary
table I'd just CLUSTER it, but alas! I cannot do that with system
catalog. I always get:

db=# cluster pg_attribute_relid_attnam_index on pg_attribute;
ERROR:  "pg_attribute" is a system catalog

The only thing I could think of is VACUUM FULL, but from my former
experience I guess it'll take maybe over an hour, effectively rendering
the server unusable, because of the exclusive lock. It is a live 24/7
system, so I'd really prefer something less drastic than dumping and
reloading the database (though it's still shorter downtime than with the
vacuum.)

Isn't there a way to somehow go around the above mentioned limitation
and CLUSTER the table?

Thanks for your ideas.

--
Michal Táborský
CTO, Internet Mall, a.s.

Internet Mall - obchody, které si oblíbíte
<http://www.MALL.cz>

pgsql-performance by date:

Previous
From: Tobias Brox
Date:
Subject: Re: Help with rewriting query
Next
From: Richard Huxton
Date:
Subject: Re: Cleaning bloated pg_attribute