Hi, On 2020-08-06 14:48:52 -0400, Robert Haas wrote: > On Thu, Aug 6, 2020 at 2:37 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > +1 for removal. It's not clear to me that we'd ever put it back. > > Long-running ANALYZE snapshots are indeed a problem, but Simon's proposal > > upthread to just take a new one every so often seems like a much cleaner > > and simpler answer than having onlookers assume that it's safe to ignore > > ANALYZE processes. (Given that ANALYZE can invoke user-defined functions, > > and can be invoked from inside user transactions, any such assumption > > seems horribly dangerous. > > Not to get too far from the proposal on the table of just removing > something that's been unused for a really long time, which stands on > its own merits, but if a particular ANALYZE doesn't invoke any > user-defined functions and isn't run inside a transaction, could we > skip acquiring a snapshot altogether? That's an extremely common case, > though by no means universal.
I don't think so, at least not in very common situations. E.g. as long as there's a toast table we need to hold a snapshot to ensure that we don't get failures looking up toasted datums. IIRC there were some other similar issues that I can't quite recall right now. Greetings, Andres Freund