Cluster and Vacuum Full

Started by Marcos Pegoraroover 5 years ago2 messagesgeneral
Jump to latest
#1Marcos Pegoraro
marcos@f10.com.br

I have tables which are Master Detail and usually my program loads all detail
records of a master record. So I configured CLUSTER on all those detail
tables to use an index which is the relation with master table. With that I
can load less records to Shared Buffers because all detaild records are on
sequencial pages, that´s fine.

I know that to have this working I have to periodically run CLUSTER, ok too.

But today instead of CLUSTER I just ran VACUUM FULL. How vacuum full
recreates entirelly that table, like cluster does, I thought it would use
that index too, but didn´t. I didn´t see what sequence of records it did but
was not the one I´ve configured with cluster.

Is that expected or Vacuum should obbey cluster configuration ?

--
Sent from: https://www.postgresql-archive.org/PostgreSQL-general-f1843780.html

#2Guillaume Lelarge
guillaume@lelarge.info
In reply to: Marcos Pegoraro (#1)
Re: Cluster and Vacuum Full

Le lun. 5 oct. 2020 à 12:22, PegoraroF10 <marcos@f10.com.br> a écrit :

I have tables which are Master Detail and usually my program loads all
detail
records of a master record. So I configured CLUSTER on all those detail
tables to use an index which is the relation with master table. With that I
can load less records to Shared Buffers because all detaild records are on
sequencial pages, that´s fine.

I know that to have this working I have to periodically run CLUSTER, ok
too.

But today instead of CLUSTER I just ran VACUUM FULL. How vacuum full
recreates entirelly that table, like cluster does, I thought it would use
that index too, but didn´t. I didn´t see what sequence of records it did
but
was not the one I´ve configured with cluster.

Is that expected or Vacuum should obbey cluster configuration ?

Only CLUSTER obeys cluster configuration. VACUUM FULL in particular doesn't.

--
Guillaume.