I'm using Postgres 8.4 and I would like to cluster a
partition but keep running into issues with locks. CLUSTER requires an
Exclusive Lock and so it gets "stuck behind" running queries that have a
Share Lock on the partition even though they are not using the
partition. I would be fine if the cluster waited until after the
existing queries finished, but this then causes all new queries to back
up behind it. I tried doing "NO INHERIT" to remove the partition while
the cluster is happening, but that also requires an Exclusive Lock and
runs into the same problem.
So is there some way that I can
CLUSTER a partition? I would be fine with removing the partition while
the CLUSTER is happening, if that makes it possible.