Re: Re: Problem Observed in behavior of Create Index Concurrently and Hot Update
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@2ndquadrant.com>, Amit Kapila <amit.kapila@huawei.com>, pgsql-hackers@postgresql.org
Date: 2012-11-27T17:11:44Z
Lists: pgsql-hackers
On Tue, Nov 27, 2012 at 12:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > The point of not wanting to open the index NoLock (and for that matter > of having DROP INDEX CONCURRENTLY take AccessExclusiveLock once it > thinks nobody is touching the index) is to make sure that if somehow > somebody is touching the index anyway, they don't see the index's > catalog entries as corrupt. They'll either all be there or all not. > It's only a belt-and-suspenders safety measure, but I don't want to > give it up. +1. There's a whole crapload of commits that I did for 9.2 with commit messages like "improve concurrent DDL in case XYZ". A lot of that had to do with fixing cases where we were examining system catalogs in unsafe ways before locks had been taken. I didn't manage to fix them all, unfortunately, but it's significantly better than it used to be, and I'd really like it if we could try not to go backwards. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company