Re: [DOC] Document concurrent index builds waiting on each other
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: James Coleman <jtc331@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, David Johnston <david.g.johnston@gmail.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2021-01-13T17:33:43Z
Lists: pgsql-hackers
On 2021-Jan-13, James Coleman wrote:
> On Wed, Jan 13, 2021 at 12:58 AM Michael Paquier <michael@paquier.xyz> wrote:
> >
> > On Tue, Jan 12, 2021 at 04:51:39PM -0300, Alvaro Herrera wrote:
> > > I looked into this again, and I didn't like what I had added to
> > > maintenance.sgml at all. It seems out of place where I put it; and I
> > > couldn't find any great spots. Going back to your original proposal,
> > > what about something like this? It's just one more para in the "notes"
> > > section in CREATE INDEX and REINDEX pages, without any additions to the
> > > VACUUM pages.
> >
> > +1.
>
> I think one more para in the notes is good. But shouldn't we still
> clarify the issue is specific to CONCURRENTLY?
How is it specific to concurrent builds? What we're documenting here is
the behavior of vacuum, and that one is identical in both regular builds
and concurrent builds (since vacuum has to avoid removing rows from
under either of them). The only reason concurrent builds are
interesting is because they take longer.
What was specific to concurrent builds was the fact that you can't have
more than one at a time, and that one is what was added in 58ebe967f.
> Also that it's not just the table being indexed seems fairly significant.
This is true. So I propose
Like any long-running transaction, <command>REINDEX</command> can
affect which tuples can be removed by concurrent <command>VACUUM</command>
on any table.
--
Álvaro Herrera 39°49'30"S 73°17'W
Commits
-
Call out vacuum considerations in create index docs
- c285a244f6d3 13.2 landed
- 93c39f987e9c 14.0 landed
- 259b21233032 12.6 landed
-
Document concurrent indexes waiting on each other
- ed9c9b033546 11.11 landed
- d3bd36a63d69 10.16 landed
- b3d33bf598dd 9.6.21 landed
- b2603f16ad75 12.6 landed
- 968a537b432e 9.5.25 landed
- 58ebe967f8a1 14.0 landed
- 3fe0e7c3fa27 13.2 landed
-
snapshot scalability: Don't compute global horizons while building snapshots.
- dc7420c2c927 14.0 cited
-
Remove PROC_IN_ANALYZE and derived flags
- cea3d5589865 14.0 landed
-
Improve performance of get_actual_variable_range with recently-dead tuples.
- 3ca930fc39cc 11.0 cited