On 2019-Mar-29, Robert Haas wrote:
> On Fri, Mar 29, 2019 at 3:28 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> > Maybe we can consider using dynamic shmem for that, and include a
> > pointer to it in the fixed-size chunk. (It's a bit too late to be
> > writing this code, mind; I'm just proposing this for a future
> > improvement.)
>
> Sounds expensive. We don't want to spend a lot of energy pushing out
> progress reports which, often enough, nobody will ever examine. I
> designed the current system as I did to make it cheap.
Well, I'm not proposing this for things that would change more than once
or a very limited number of times during one command; certainly not once
per tuple or per block like other metrics do. The examples I mentioned
are once per command (eg., list of OIDs of partitions to process) or
list of PIDs to wait for, which we wouldn't modify it once set for each
waiting cycle (three times for CREATE INDEX CONCURRENTLY, five times for
REINDEX CONCURRENTLY).
> Adding DSM in there would open up lots of exciting new failure
> possibilities and significantly increase the overhead. And probably
> add quite a bit of code complexity, too.
Yeah, that's true.
Anyway, I'm not intending to tackle this for the time being.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services