Tom Lane wrote: > Alvaro Herrera <alvhe...@alvh.no-ip.org> writes:
> > 2. when summarization is requested on the partial range at the end of a > > table, we acquire extension lock on the rel, then compute relation size > > and run summarization with the lock held. This guarantees that we don't > > miss any pages. This is bad for concurrency though, so it's only done > > in that specific scenario. > > Hm, I wonder how this will play with the active proposals around > reimplementing relation extension locks. All that work seems to be > assuming that the extension lock is only held for a short time and > nothing much beyond physical extension is done while holding it. > I'm afraid that you may be introducing a risk of e.g. deadlocks > if you do this. Ouch ... yeah, that could be a problem. Another idea I had was to just insert the placeholder tuple while holding the extension lock, then release the lock while the summarization is done. It would be a bit of a break of the current separation of concerns, but I'm not convinced that the current setup is perfect, so maybe that's okay. > If VACUUM and brin_summarize_new_values both ignore the partial > range, then what else would request this? Can't we just decree > that we don't summarize the partial range, period? brin_summarize_range() can do it. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers