pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
Cleaning bloated pg_attribute
2+ messages / 2 participants
[nested] [flat]

* Cleaning bloated pg_attribute
@ 2005-06-10 09:05  Michal Taborsky <michal.taborsky@mall.cz>
  0 siblings, 1 reply; 2+ messages in thread

From: Michal Taborsky @ 2005-06-10 09:05 UTC (permalink / raw)
  To: 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;



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: Cleaning bloated pg_attribute
@ 2005-06-10 10:07  Richard Huxton <dev@archonet.com>
  parent: Michal Taborsky <michal.taborsky@mall.cz>
  0 siblings, 0 replies; 2+ messages in thread

From: Richard Huxton @ 2005-06-10 10:07 UTC (permalink / raw)
  To: Michal Taborsky <michal.taborsky@mall.cz>; +Cc: pgsql-performance

Michal Taborsky wrote:
> I managed, by extensive usage of temporary tables, to totally bloat 
> pg_attribute. It currently has about 40000 pages with just 3000 tuples. 

> 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.

You can vacuum full a single table - shouldn't take an hour for just the 
one table. Unless your disk I/O is *constantly* running flat-out.

-- 
   Richard Huxton
   Archonet Ltd



^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2005-06-10 10:07 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2005-06-10 09:05 Cleaning bloated pg_attribute Michal Taborsky <michal.taborsky@mall.cz>
2005-06-10 10:07 ` Richard Huxton <dev@archonet.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox