Re: ATTACH/DETACH PARTITION CONCURRENTLY
От | Andres Freund |
---|---|
Тема | Re: ATTACH/DETACH PARTITION CONCURRENTLY |
Дата | |
Msg-id | 20180807124751.ip32ojiavfy637tz@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: ATTACH/DETACH PARTITION CONCURRENTLY (David Rowley <david.rowley@2ndquadrant.com>) |
Ответы |
Re: ATTACH/DETACH PARTITION CONCURRENTLY
Re: ATTACH/DETACH PARTITION CONCURRENTLY |
Список | pgsql-hackers |
Hi, On 2018-08-08 00:40:12 +1200, David Rowley wrote: > 1. Obtain a ShareUpdateExclusiveLock on the partitioned table rather > than an AccessExclusiveLock. > 2. Do all the normal partition attach partition validation. > 3. Insert pg_partition record with partvalid = true. > 4. Invalidate relcache entry for the partitioned table > 5. Any loops over a partitioned table's PartitionDesc must check > PartitionIsValid(). This will return true if the current snapshot > should see the partition or not. The partition is valid if partisvalid > = true and the xmin precedes or is equal to the current snapshot. How does this protect against other sessions actively using the relcache entry? Currently it is *NOT* safe to receive invalidations for e.g. partitioning contents afaics. - Andres
В списке pgsql-hackers по дате отправления: