Re: Allow parallel plan for referential integrity checks? - Mailing list pgsql-hackers

From Imseih (AWS), Sami
Subject Re: Allow parallel plan for referential integrity checks?
Date
Msg-id C012E2FE-5696-4C8E-A43D-87F38B2E7FE2@amazon.com
Whole thread Raw
In response to Re: Allow parallel plan for referential integrity checks?  (Frédéric Yhuel <frederic.yhuel@dalibo.com>)
Responses Re: Allow parallel plan for referential integrity checks?
List pgsql-hackers
I looked at your patch and it's a good idea to make foreign key validation
use parallel query on large relations.

It would be valuable to add logging to ensure that the ActiveSnapshot and TransactionSnapshot 
is the same for the leader and the workers. This logging could be tested in the TAP test.

Also, inside RI_Initial_Check you may want to set max_parallel_workers to 
max_parallel_maintenance_workers.

Currently the work_mem is set to maintenance_work_mem. This will also require
a doc change to call out.

/*
     * Temporarily increase work_mem so that the check query can be executed
     * more efficiently.  It seems okay to do this because the query is simple
     * enough to not use a multiple of work_mem, and one typically would not
     * have many large foreign-key validations happening concurrently.  So
     * this seems to meet the criteria for being considered a "maintenance"
     * operation, and accordingly we use maintenance_work_mem.  However, we






pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Report checkpoint progress with pg_stat_progress_checkpoint (was: Report checkpoint progress in server logs)
Next
From: Julien Rouhaud
Date:
Subject: Re: pgsql: Add option to use ICU as global locale provider