Re: Weird planner issue on a standby

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Weird planner issue on a standby
Date: 2022-10-11 17:42:55
Message-ID: CAECtzeWVbyOL6gs793vu2zvF50H4LtoB4n6VTm9h9zcnY0J8iw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Le mar. 11 oct. 2022 à 18:27, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> a
écrit :

> On 2022-Oct-11, Tom Lane wrote:
>
> > Are there any tables in this query where extremal values of the join
> > key are likely to be in recently-added or recently-dead rows? Does
> > VACUUM'ing on the primary help?
>
> I remember having an hypothesis, upon getting a report of this exact
> problem on a customer system once, that it could be due to killtuple not
> propagating to standbys except by FPIs. I do not remember if we proved
> that true or not. I do not remember observing that tables were being
> read, however.
>
>
Thanks for your answers.

The last predicate is "and c3>='2020-10-10' and c3<='2022-10-10'. I have no
idea on the actual use of c3 but rows with c3 at '2022-10-10' (which is
yesterday) is much probably recently-added. I can ask my customer if you
want but this looks like a pretty safe bet.

On the VACUUM question, I didn't say, but we're kind of wondering if it was
lacking a recent-enough VACUUM. So they're doing a VACUUM tonight on the
database (and especially on the 1.6TB table which is part of the query).
I'm kind of skeptical because if the VACUUM wasn't enough on the standby,
it should be the same on the primary.

Actually, there are two things that really bug me:
* why the difference between primary and both standbys?
* why now? (it worked great before this weekend, and the only thing I know
happened before is a batch delete on sunday... which may be a good-enough
reason for things to get screwed, but once again, why only both standbys?)

Julien Rouhaud also told me about killtuples, but I have no idea what they
are. I suppose this is different from dead tuples. Anyway, if you can
enlighten me, I'll be happy :)

--
Guillaume.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Klint Gore 2022-10-12 00:06:12 Re: Different execution plan between PostgreSQL 8.4 and 12.11
Previous Message Alvaro Herrera 2022-10-11 16:27:36 Re: Weird planner issue on a standby