Re: [HACKERS] [PATCH v3] pg_progress() SQL function to monitorprogression of long running SQL queries/utilities
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] [PATCH v3] pg_progress() SQL function to monitorprogression of long running SQL queries/utilities |
Дата | |
Msg-id | CA+Tgmobd35voqGR31nkNd7ft+YHs61SuZq6nHCXr8gqe0OzJNg@mail.gmail.com обсуждение исходный текст |
Ответ на | [HACKERS] [PATCH v3] pg_progress() SQL function to monitor progression of longrunning SQL queries/utilities (Remi Colinet <remi.colinet@gmail.com>) |
Ответы |
Re: [HACKERS] [PATCH v3] pg_progress() SQL function to monitorprogression of long running SQL queries/utilities
Re: [HACKERS] [PATCH v3] pg_progress() SQL function to monitorprogression of long running SQL queries/utilities |
Список | pgsql-hackers |
On Wed, Jun 21, 2017 at 10:01 AM, Remi Colinet <remi.colinet@gmail.com> wrote: > test=# SELECT pid, ppid, bid, concat(repeat(' ', 3 * indent),name), value, > unit FROM pg_progress(0,0); > pid | ppid | bid | concat | value | unit > -------+------+-----+------------------+------------------+--------- > 14106 | 0 | 4 | status | query running | > 14106 | 0 | 4 | relationship | progression | > 14106 | 0 | 4 | node name | Sort | > 14106 | 0 | 4 | sort status | on tapes writing | > 14106 | 0 | 4 | completion | 0 | percent > 14106 | 0 | 4 | relationship | Outer | > 14106 | 0 | 4 | node name | Seq Scan | > 14106 | 0 | 4 | scan on | t_10m | > 14106 | 0 | 4 | fetched | 25049 | block > 14106 | 0 | 4 | total | 83334 | block > 14106 | 0 | 4 | completion | 30 | percent > (11 rows) > > test=# Somehow I imagined that the output would look more like what EXPLAIN produces. > If the one shared memory page is not enough for the whole progress report, > the progress report transfert between the 2 backends is done with a series > of request/response. Before setting the latch, the monitored backend write > the size of the data dumped in shared memory and set a status to indicate > that more data is to be sent through the shared memory page. The monitoring > backends get the result and sends an other signal, and then wait for the > latch again. The monitored backend does not collect a new progress report > but continues to dump the already collected report. And the exchange goes on > until the full progress report has been dumped. This is basically what shm_mq does. We probably don't want to reinvent that code, as it has taken a surprising amount of debugging to get it fully working. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: