public inbox for [email protected]
help / color / mirror / Atom feedFrom: Quentin de Metz <[email protected]>
To: [email protected]
Subject: Sharp edge when dropping columns
Date: Thu, 14 Mar 2024 19:44:31 +0100
Message-ID: <[email protected]> (raw)
[This is my first message on a PG mailing list, here's hoping I'm not breaching etiquette somehow]
Bonjour,
I'd like to report a sharp edge which caused downtime in my production application: dropping a column which is INCLUDEd in an index drops the index.
In the past, I have included a field in some of my indexes so that related queries can be performed as an index-only scan. This field was later deprecated. When the related column was ultimately dropped, the performance of the initial queries ground to a halt because the underlying index had been dropped.
I found this behavior unexpected. I think preventing the index from being dropped in some circumstances would make this less surprising. The exact circumstances likely need to be hashed out if there is a consensus that this is a (minor) problem.
Please find below a simple reproduction script:
=# CREATE TABLE test (id bigint, label text);
CREATE TABLE
=# CREATE INDEX pkey_with_label ON test USING btree (id) INCLUDE (label);
CREATE INDEX
=# \d test
Table "public.test"
┌────────┬────────┬───────────┬──────────┬─────────┐
│ Column │ Type │ Collation │ Nullable │ Default │
├────────┼────────┼───────────┼──────────┼─────────┤
│ id │ bigint │ │ │ │
│ label │ text │ │ │ │
└────────┴────────┴───────────┴──────────┴─────────┘
Indexes:
"pkey_with_label" btree (id) INCLUDE (label)
=# ALTER TABLE test DROP COLUMN label;
ALTER TABLE
=# \d test
Table "public.test"
┌────────┬────────┬───────────┬──────────┬─────────┐
│ Column │ Type │ Collation │ Nullable │ Default │
├────────┼────────┼───────────┼──────────┼─────────┤
│ id │ bigint │ │ │ │
└────────┴────────┴───────────┴──────────┴─────────┘
Thank you for reading,
Quentin de Metz
view thread (3+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Sharp edge when dropping columns
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox