Re: pg_*_advice: tsv load failure, etc.

From: Noah Misch <noah(at)leadboat(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_*_advice: tsv load failure, etc.
Date: 2026-09-01 03:53:11
Message-ID: 20260901035311.9a.noahmisch@microsoft.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Aug 28, 2026 at 10:21:29AM -0400, Robert Haas wrote:
> On Thu, Aug 27, 2026 at 1:18 PM Noah Misch <noah(at)leadboat(dot)com> wrote:
> > ### 14. Stash-supplied advice silently overrides an explicitly-set pg_plan_advice.advice for the same query; the precedence is documented nowhere
> >
> > I do feel the GUC should preempt the stash. Best to solidify this behavior
> > before release.
>
> IMHO, it's impossible to look at
> pg_plan_advice_get_supplied_query_advice() and think that the current
> behavior was anything but intentional. Of course, that doesn't mean
> it's optimal, but if you'd like to propose changing it, I suggest
> starting a new thread on that specific topic and making some kind of
> argument for your preferred behavior. I suspect a lot of people are
> going to think that this thread is just about bug-fixing, rather than
> proposed behavior changes. I'm fine with changing this if others
> agree.

I agree the pg_plan_advice implementation gives what the code calls "advisors"
precedence over this GUC. I opined this way because, as a user, I expect
more-specific knobs to override less-specific knobs. The stash is the less
specific of the two. That said, I don't plan to pursue this precedence
question further.

> > Here's the second tier, as I see it:
> >
> > ### 5. pg_plan_advice.advice / stash advice changes are silently ignored by an already-cached generic plan
>
> This is a planner control feature; it does not affect behavior other
> than at plan time. I don't see that as a bug. That said, I think it
> would be perfectly valid for someone to try to figure a way for advice
> stash changes to invalidate plans, but I suspect that will require
> significant new infrastructure. Plan invalidation is generally tied to
> catalog modifications, and here we would instead want to tie it to a
> plan ID. We could do that by adding a custom invalidation type to
> sinval.h just for the use of pg_stash_advice, but would be a pretty
> serious piece of core infrastructure for an as-yet-unproven contrib
> module to use to solve a problem which (for all we know now) may have
> little practical impact.

True, best to leave that as-is.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-09-01 03:57:02 [PATCH] Fix autovacuum freeze bug where weight can lower a table's freeze score
Previous Message Bharath Rupireddy 2026-09-01 03:45:00 Re: REPACK (CONCURRENTLY) doesn't check the table AM