Re: [DOC] Document concurrent index builds waiting on each other

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>
Cc: James Coleman <jtc331@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-08-05T02:14:35Z
Lists: pgsql-hackers
On 2020-Aug-04, Alvaro Herrera wrote:

> diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h
> index b20e2ad4f6..43c8ea3e31 100644
> --- a/src/include/storage/proc.h
> +++ b/src/include/storage/proc.h
> @@ -53,6 +53,8 @@ struct XidCache
>  #define		PROC_IS_AUTOVACUUM	0x01	/* is it an autovac worker? */
>  #define		PROC_IN_VACUUM		0x02	/* currently running lazy vacuum */
>  #define		PROC_IN_ANALYZE		0x04	/* currently running analyze */
> +#define		PROC_IN_CIC			0x40	/* currently running CREATE INDEX
> +										   CONCURRENTLY */
>  #define		PROC_VACUUM_FOR_WRAPAROUND	0x08	/* set by autovac only */
>  #define		PROC_IN_LOGICAL_DECODING	0x10	/* currently doing logical
>  												 * decoding outside xact */

Hah, missed to add new bit to PROC_VACUUM_STATE_MASK here.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Call out vacuum considerations in create index docs

  2. Document concurrent indexes waiting on each other

  3. snapshot scalability: Don't compute global horizons while building snapshots.

  4. Remove PROC_IN_ANALYZE and derived flags

  5. Improve performance of get_actual_variable_range with recently-dead tuples.