Re: Snapshot too old logging - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Snapshot too old logging
Date
Msg-id CABUevEw1aVxAUfkGP4OS2ZkiVEvQ4V3s-K47_Y5LswgfqoUa2w@mail.gmail.com
Whole thread Raw
In response to Re: Snapshot too old logging  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Snapshot too old logging  (Kevin Grittner <kgrittn@gmail.com>)
List pgsql-hackers
On Tue, Nov 15, 2016 at 9:23 PM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
Magnus Hagander wrote:
> On Tue, Nov 15, 2016 at 8:22 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>
> > On Tue, Nov 15, 2016 at 2:21 PM, Kevin Grittner <kgrittn@gmail.com> wrote:

> > > That particular language would be misleading.  All we know about
> > > the page is that it was modified since the referencing (old)
> > > snapshot was taken.  We don't don't know in what way it was
> > > modified, so we must assume that it *might* have been pruned of
> > > rows that the snapshot should still be able to see.
> >
> > Oh, yeah.  So maybe "may have already been removed".
>
> Just to be clear, you're suggesting 'One or more rows may have already been
> removed from "%s"?

Focusing on the relation itself for a second, I think the name should be
schema-qualified.  What about using errtable()?

Can this happen for relation types other than tables, say materialized
views?  (Your suggested wording omits relation type so it wouldn't be
affected, but it's worth considering I think.)

I'm fairly certain it can hit other things, including indexes and definitely matviews, but I won't say I'm 100% sure :) The check is at block level. Does errtable() work for that? (I've never used it, and it seems it's only actually use din a single place in the codebase..)


--

pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: Performance degradation in Bitmapscan (commit 75ae538bc3168bf44475240d4e0487ee2f3bb376)
Next
From: Robert Haas
Date:
Subject: Re: Snapshot too old logging