Teodor Sigaev wrote:
>> What other constraints are there on such non-in-core indexex? Early (2005)
>> GIST indexes were very painful in production environments because vacuuming
>> them held locks for a *long* time (IIRC, an hour or so on my database) on
>> the indexes locking out queries. Was that just a shortcoming of the
>> implementation, or was it a side-effect of them not supporting recoverability.
>
> GiST concurrent algorithm is based on Log Sequence Number of WAL and that
> was the reason to implement WAL (and recoverability) first in GiST.
Hmm, IIRC it is based on a monotonically increasing number. It could
have been anything. LSN was just a monotonically increasing number that
would be available if WAL was implemented first (or in parallel).
Of course, there's no much point in an index that's easily corrupted, so
I understand the desire to implement WAL too -- I'm just pointing out
that concurrency could have been developed independently.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.