From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Michael Paquier <michael(at)paquier(dot)xyz> |
Subject: | Re: ALTER tbl rewrite loses CLUSTER ON index |
Date: | 2020-02-29 02:42:02 |
Message-ID: | 20200229024202.GH29456@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Feb 28, 2020 at 06:26:04PM -0500, Tom Lane wrote:
> Justin Pryzby <pryzby(at)telsasoft(dot)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.
I've just noticed while working on (1) that this separately affects REINDEX
CONCURRENTLY, which would be a new bug in v12. Without CONCURRENTLY there's no
issue. I guess we need a separate patch for that case.
(1) https://commitfest.postgresql.org/27/2269/
The ALTER bug goes back further and its fix should be a kept separate.
postgres=# DROP TABLE tt; CREATE TABLE tt(i int unique); CLUSTER tt USING tt_i_key; CLUSTER tt; REINDEX INDEX tt_i_key; CLUSTER tt;
DROP TABLE
CREATE TABLE
CLUSTER
CLUSTER
REINDEX
CLUSTER
postgres=# DROP TABLE tt; CREATE TABLE tt(i int unique); CLUSTER tt USING tt_i_key; CLUSTER tt; REINDEX INDEX CONCURRENTLY tt_i_key; CLUSTER tt;
DROP TABLE
CREATE TABLE
CLUSTER
CLUSTER
REINDEX
ERROR: there is no previously clustered index for table "tt"
--
Justin
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2020-02-29 03:36:30 | Re: Some problems of recovery conflict wait events |
Previous Message | Nikita Glukhov | 2020-02-29 02:13:40 | Re: [PATCH] Opclass parameters |