Re: Heap truncation without AccessExclusiveLock (9.4)
От | Robert Haas |
---|---|
Тема | Re: Heap truncation without AccessExclusiveLock (9.4) |
Дата | |
Msg-id | CA+TgmobcCq9XzCv33dc7dm6R_DYDnJ5jjcCmqHZLOwiamDZG8w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Heap truncation without AccessExclusiveLock (9.4) (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On Thu, May 16, 2013 at 1:15 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >>> 2. If you don't find an entry for your target rel in the cache, aren't >>> you still going to have to do an lseek? > >> Don't think of it as a cache. The caching happens inside each >> backend's relcache; the shared memory structure is just a tool to >> force those caches to be revalidated when necessary. > > Hmm. Now I see: it's not a cache, it's a Bloom filter. Yes. > The failure > mode I was thinking of is inapplicable, but there's a different one: > you have to be absolutely positive that *any* operation that extends the > file will update the relevant filter entry. Still, I guess that we're > already assuming that any such op will take the relation's extension > lock, so it should be easy enough to find all the places to fix. I would think so. The main thing that's held me back from actually implementing this is the fact that lseek is so darn cheap on Linux, and I don't have reliable data one way or the other for any other platform. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: