Re: ALTER tbl rewrite loses CLUSTER ON index (consider moving indisclustered to pg_class)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Amit Langote <amitlangote09@gmail.com>, pgsql-hackers@postgresql.org
Date: 2020-02-28T23:26:04Z
Lists: pgsql-hackers
Justin Pryzby <pryzby@telsasoft.com> writes: > I think the attached is 80% complete (I didn't touch pg_dump). > One objection to this change would be that all relations (including indices) > end up with relclustered fields, and pg_index already has a number of bools, so > it's not like this one bool is wasting a byte. > I think relisclustered was a's clever way of avoiding that overhead (c0ad5953). > So I would be -0.5 on moving it to pg_class.. > But I think 0001 and 0002 are worthy. Maybe the test in 0002 should live > somewhere else. 0001 has been superseded by events (faade5d4c), so the cfbot is choking on that one's failure to apply, and not testing any further. Please repost without 0001 so that we can get this testing again. regards, tom lane
Commits
-
Refactor cluster.c to use new routine get_index_isclustered()
- 8ef9451f58ee 13.0 landed
-
Preserve clustered index after rewrites with ALTER TABLE
- 3f77a670241d 9.5.22 landed
- 61a161fe4421 9.6.18 landed
- cef2b8d52c59 10.13 landed
- 41faafbd75a5 11.8 landed
- 3e62dd3a937b 12.3 landed
- a40caf5f862c 13.0 landed
-
Preserve replica identity index across ALTER TABLE rewrite
- 1cc9c2412cc9 13.0 cited
-
Remove RangeIOData->typiofunc
- a77315fdf2a1 13.0 cited
-
Preserve pg_index.indisclustered across REINDEX CONCURRENTLY
- f087d63a45b5 12.3 landed
- d79fb88ac738 13.0 landed