Re: CLUSTER on partitioned index

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Justin Pryzby <pryzby@telsasoft.com>, 李杰(慎追) <adger.lj@alibaba-inc.com>, pgsql-hackers@lists.postgresql.org, 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>, Zhihong Yu <zyu@yugabyte.com>
Date: 2022-04-16T11:58:50Z
Lists: pgsql-hackers

Attachments

On Thu, Apr 14, 2022 at 10:37:06PM +0200, Alvaro Herrera wrote:
> Thanks for the patch -- I have pushed it now, with some wording changes
> and renaming the role to regress_* to avoid buildfarm's ire.

Cool, thanks.

> Michaël in addition proposes an isolation test.  I'm not sure; is it
> worth the additional test run time?  It doesn't seem a critical issue.
> But if anybody feels like contributing one, step right ahead.

Well, I am a bit annoyed that we don't actually check that a CLUSTER
command does not block when doing a CLUSTER on a partitioned table
while a lock is held on one of its partitions.  So, attached is a
proposal of patch to improve the test coverage in this area.  While on
it, I have added a test with a normal table.  You can see the
difference once you remove the ACL check added recently in
get_tables_to_cluster_partitioned().  What do you think?
--
Michael

Commits

  1. Add some isolation tests for CLUSTER

  2. Have CLUSTER ignore partitions not owned by caller

  3. Remove "recheck" argument from check_index_is_clusterable()

  4. Allow CLUSTER on partitioned tables

  5. doc: Add backlinks to progress reporting documentation