On 2024-Jun-03, Euler Taveira wrote: > On Thu, May 30, 2024, at 12:50 PM, PG Doc comments form wrote: > > I noticed that in "28.4.4. Progress Reporting" chapter for > > `pg_stat_progress_create_index`, the "Table 28.43. CREATE INDEX Phases" may > > be misleading as phase displayed for "building index" is often more > > detailed. > > I found in this presentation[1] (slide 20) what seems to be the exact status > > displayed by the table while creating the index. > > Maybe documentation table displaying all status could be extended to display > > the following status: > > The description is accurate. Since this step (building index) is AM-specific, > it > shouldn't contain the additional information (after the semicolon).
However, maybe Eve is right that we should have these steps: > > - building index: initializing [2] > > - building index: scanning table > > - building index: sorting live tuples > > - building index: sorting dead tuples > > - building index: loading tuples in tree somewhere in the AM-specific doc pages, https://www.postgresql.org/docs/devel/btree.html and perhaps we can link to that from the progress-report chapter. (Not really related, but: I think the per-index-AM subsections in https://www.postgresql.org/docs/devel/indexes-types.html should have forward-links to the appendix sections on them.) > You can certainly obtain the build phases from all access > methods with a query like: > > WITH amidx AS ( > SELECT oid, amname FROM pg_am WHERE amtype = 'i') > SELECT a.amname, pg_indexam_progress_phasename(a.oid, i) > FROM amidx a, generate_series(0, 100) i > WHERE pg_indexam_progress_phasename(a.oid, i) IS NOT NULL > ORDER BY a.amname, i; Heh, only btrees show up there. Sad. I wonder to what extent would it be useful for the other index AMs to report sub-phases of index creation. It should be pretty simple to implement ... -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "La gente vulgar sólo piensa en pasar el tiempo; el que tiene talento, en aprovecharlo"