pg_stat_progress_create_index vs. parallel index builds

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pg_stat_progress_create_index vs. parallel index builds
Дата
Msg-id 1128176d-1eee-55d4-37ca-e63644422adb@enterprisedb.com
обсуждение исходный текст
Ответы Re: pg_stat_progress_create_index vs. parallel index builds  (Matthias van de Meent <boekewurm+postgres@gmail.com>)
Re: pg_stat_progress_create_index vs. parallel index builds  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-hackers
Hi,

While experimenting with parallel index builds, I've noticed a somewhat 
strange behavior of pg_stat_progress_create_index when a btree index is 
built with parallel workers - some of the phases seem to be missing.

In serial (no parallelism) mode, the progress is roughly this (it's 
always the first/last timestamp of each phase):

              |   command    |             phase
-------------+--------------+----------------------------------------
  12:56:01 AM | CREATE INDEX | building index: scanning table
          ...
  01:06:22 AM | CREATE INDEX | building index: scanning table
  01:06:23 AM | CREATE INDEX | building index: sorting live tuples
          ...
  01:13:10 AM | CREATE INDEX | building index: sorting live tuples
  01:13:11 AM | CREATE INDEX | building index: loading tuples in tree
          ...
  01:24:02 AM | CREATE INDEX | building index: loading tuples in tree

So it goes through three phases:

1) scanning tuples
2) sorting live tuples
3) loading tuples in tree

But with parallel build index build, it changes to:

              |   command    |             phase
-------------+--------------+----------------------------------------
  11:40:48 AM | CREATE INDEX | building index: scanning table
          ...
  11:47:24 AM | CREATE INDEX | building index: scanning table (scan
                complete)
  11:56:22 AM | CREATE INDEX | building index: scanning table
  11:56:23 AM | CREATE INDEX | building index: loading tuples in tree
          ...
  12:05:33 PM | CREATE INDEX | building index: loading tuples in tree

That is, the "sorting live tuples" phase disappeared, and instead it 
seems to be counted in the "scanning table" one, as if there was an 
update of the phase missing.

I've only tried this on master, but I assume it behaves like this in the 
older releases too. I wonder if this is intentional - it sure is a bit 
misleading.


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "tanghy.fnst@fujitsu.com"
Дата:
Сообщение: RE: tab-complete for CREATE TYPE ... SUBSCRIPT
Следующее
От: "Joe Wildish"
Дата:
Сообщение: Re: [PATCH] Allow queries in WHEN expression of FOR EACH STATEMENT triggers