Обсуждение: clustering takes too long!
Hi,
I am trying to cluster an index on the TPC-H lineitem table having
6 million records. The index is on a single column l_suppkey. Postgres
(8.1.3) is not able to finish the operation even after 2 hours! The disk
is being accessed continuously and CPU is at 2%. Postmaster is
started with the following options:
-B 2000 --work-mem=10240 --maintenance_work_mem=10240 --wal_buffers=32 --checkpoint_segments=128 --checkpoint_timeout=600
No useful messages in the logfile. With the default checkpoint_segments
(before I increased it to 128), there was a warning about checkpoints taking
place too frequently.
I tried this on two different machines and also with 8.1.4 and see the
same behavior.
On the same system, I am able to cluster an index on another much
larger table (10 million) records within few minutes.
Any clues on what could be going wrong?
Thanks,
Ravi
I am trying to cluster an index on the TPC-H lineitem table having
6 million records. The index is on a single column l_suppkey. Postgres
(8.1.3) is not able to finish the operation even after 2 hours! The disk
is being accessed continuously and CPU is at 2%. Postmaster is
started with the following options:
-B 2000 --work-mem=10240 --maintenance_work_mem=10240 --wal_buffers=32 --checkpoint_segments=128 --checkpoint_timeout=600
No useful messages in the logfile. With the default checkpoint_segments
(before I increased it to 128), there was a warning about checkpoints taking
place too frequently.
I tried this on two different machines and also with 8.1.4 and see the
same behavior.
On the same system, I am able to cluster an index on another much
larger table (10 million) records within few minutes.
Any clues on what could be going wrong?
Thanks,
Ravi
"Ravindra Guravannavar" <ravindrag@gmail.com> writes: > I am trying to cluster an index on the TPC-H lineitem table having > 6 million records. The index is on a single column l_suppkey. Postgres > (8.1.3) is not able to finish the operation even after 2 hours! The disk > is being accessed continuously and CPU is at 2%. Postmaster is > started with the following options: > -B 2000 --work-mem=10240 --maintenance_work_mem=10240 --wal_buffers=32 > --checkpoint_segments=128 --checkpoint_timeout=600 You should increase maintenance_work_mem for large reindexing operations. That shared_buffers setting is about a factor of 10 too small too. regards, tom lane