2016-09-28 14:34 GMT+02:00 Mike Sofen <mso...@runbox.com>:

> *From:* Pavel Stehule    *Sent:* Tuesday, September 27, 2016 9:18 PM
> 2016-09-28 6:13 GMT+02:00 Pavel Stehule <pavel.steh...@gmail.com>:
>
> Hi
>
> 2016-09-27 23:03 GMT+02:00 Mike Sofen <mso...@runbox.com>:
>
> Hi gang,
>
> how to view the state of a transaction in flight, seeing how many rows
> have been read or inserted (possible for a transaction in flight?), memory
> allocations across the various PG processes, etc.
>
> some years ago I used a trick http://okbob.blogspot.cz/2014/
> 09/nice-unix-filter-pv.html#links
>
>
>
> pltoolbox has counter function https://github.com/okbob/
> pltoolbox/blob/master/utils.c
>
> pavel=# insert into omega2 select (x.xx).*
>
>            from (select pst.counter(omega,200000, true) xx
>
>                     from omega
>
>                 ) x;
>
> NOTICE:  processed 200000 rows, current value is '(5,8)'
>
> NOTICE:  processed 200000 rows, current value is '(5,8)'
>
> Regards
>
> Pavel
>
>
>
>
>
> Pavel - That’s a very interesting function and thanks for sharing your
> toolbox.  The big question of course, is what is the impact on performance,
> scalability and stability?  Would it work inside of a stored function that
> would allow me write out the progress to a tracking table?
>

When a IO is bottleneck then counter has zero overhead. The usage is same
as any PostgreSQL set returning function. This function should be stable -
it is pretty simple

Regards

Pavel


>
>
> Mike
>

Reply via email to