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

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to