From: Nathan Bossart <nathandbossart@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jeff Davis <pgsql@j-davis.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org <pgsql-hackers@postgresql.org>
Subject: Re: pgsql: Fix search_path to a safe value during maintenance operations.
Date: Mon, 3 Jul 2023 11:19:14 -0700
Message-ID: <20230703181914.GA2944898@nathanxps13> (raw)
In-Reply-To: <20230703035731.GA3028728@rfd.leadboat.com>
References: <1799839.1686687804@sss.pgh.pa.us>
<4df537f5a0d8c0ceac3eec3809d1144880b8e76d.camel@j-davis.com>
<CA+TgmoYtJU0KknWr11W--wK=4eJtdHOgupyT=beZVPC8P=o+YA@mail.gmail.com>
<578fb4be80247570e6a05924908765a0b345971e.camel@j-davis.com>
<CA+TgmoZVCHERUkXhAMT2Er-sKBc5C6_iX+TpxxivBevDHzq2TQ@mail.gmail.com>
<43bbc9f7318057f51552d5986830908cb018dadf.camel@j-davis.com>
<1659699.1688086436@sss.pgh.pa.us>
<20230630050921.GA2640352@nathanxps13>
<20230630183546.GB2828237@nathanxps13>
<20230703035731.GA3028728@rfd.leadboat.com>
On Sun, Jul 02, 2023 at 08:57:31PM -0700, Noah Misch wrote:
> Another dimension of compromise could be to make MAINTAIN affect fewer
> commands in v16. Un-revert the part of commit 05e1737 affecting just the
> commands it still affects. For example, limit MAINTAIN and the 05e1737
> behavior change to VACUUM, ANALYZE, and REINDEX. Don't worry about VACUUM or
> ANALYZE failing under commit 05e1737, since they would have been failing under
> autovacuum since 2018. A problem index expression breaks both autoanalyze and
> REINDEX, hence the inclusion of REINDEX. The already-failing argument doesn't
> apply to CLUSTER or REFRESH MATERIALIZED VIEW, so those commands could join
> MAINTAIN in v17.
I'm open to compromise if others are, but I'm skeptical that folks will be
okay with too much fancy footwork this late in the game.
Anyway, IMO your argument could extend to CLUSTER and REFRESH, too. If
we're willing to change behavior under the assumption that autovacuum
would've been failing since 2018, then why wouldn't we be willing to change
it everywhere? I suppose someone could have been manually vacuuming with a
special search_path for 5 years to avoid needing to schema-qualify their
index expressions (and would then be surprised that CLUSTER/REFRESH no
longer work), but limiting MAINTAIN to VACUUM, etc. would still break their
use-case, right?
> From my reading of the objections, I think they're saying that commit 05e1737
> arrived too late and that MAINTAIN is unacceptable without commit 05e1737. I
> think you'd conform to all objections by pushing the revert to v16 and pushing
> a roll-forward of commit 05e1737 to master.
Okay, I'll adjust my plans accordingly.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
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: pgsql-hackers@postgresql.org
Cc: nathandbossart@gmail.com, noah@leadboat.com, tgl@sss.pgh.pa.us, pgsql@j-davis.com, robertmhaas@gmail.com
Subject: Re: pgsql: Fix search_path to a safe value during maintenance operations.
In-Reply-To: <20230703181914.GA2944898@nathanxps13>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox