[ZODB-Dev] RelStorage and PostgreSQL's VACUUM

Maurits van Rees m.van.rees at zestsoftware.nl
Thu Feb 24 16:15:16 EST 2011


Op 23-02-11 12:41, Maurits van Rees schreef:
> CLUSTER does not do anything unless you first tell it which index to use
> for clustering a table.  Using postgres 8.4 I have done this for the
> four tables for which I think this is useful (the other tables had no
> content):
>
> cluster blob_chunk using blob_chunk_pkey;
> cluster current_object using current_object_pkey;
> cluster object_state using object_state_pkey ;
> cluster transaction using transaction_pkey;
>
> This did not have an effect on the above mentioned test database though.
> But that may be because it had already been fully vacuumed.
>
> Would these be the correct tables and indexes?  Some of these tables
> have other indexes as well, but these are the primary ones.

I just did this and the database went down from 38 GB to 21 GB, so I'd 
say this works.

> Would it make sense to add these lines to the postgres code in
> relstorage that creates the tables?  Then users would only need to
> perform the 'CLUSTER;' command without any extra parameters and it would
> work.

-- 
Maurits van Rees
Web App Programmer at Zest Software: http://zestsoftware.nl
Personal website: http://maurits.vanrees.org/



More information about the ZODB-Dev mailing list