Re: ALTER TABLE lock strength reduction patch is unsafe
От | Tom Lane |
---|---|
Тема | Re: ALTER TABLE lock strength reduction patch is unsafe |
Дата | |
Msg-id | 15067.1393969068@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: ALTER TABLE lock strength reduction patch is unsafe (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: ALTER TABLE lock strength reduction patch is unsafe
Re: ALTER TABLE lock strength reduction patch is unsafe |
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, Mar 4, 2014 at 2:39 PM, Simon Riggs <simon@2ndquadrant.com> wrote: >> Your earlier claim that the dump is inconsistent just isn't accurate. >> We now have MVCC catalogs, so any dump is going to see a perfectly >> consistent set of data plus DDL. OK the catalogs may change AFTER the >> snapshot was taken for the dump, but then so can the data change - >> that's just MVCC. > Unfortunately, this isn't correct. The MVCC snapshots taken for > catalog scans are "instantaneous"; that is, we take a new, current > snapshot for each catalog scan. If all of the ruleutils.c stuff were > using the transaction snapshot rather than instantaneous snapshots, > this would be right. But as has been previously discussed, that's not > the case. Yeah. And that's *necessary* for catalog lookups in a normally functioning backend, because we have to see latest data (eg, it wouldn't do for a backend to fail to enforce a just-added CHECK constraint because it was committed after the backend's transaction started). However, it seems possible that we could have a mode in which a read-only session did all its catalog fetches according to the transaction snapshot. That would get us to a situation where the backend-internal lookups that ruleutils relies on would give the same answers as queries done by pg_dump. Robert's work on getting rid of SnapshotNow has probably moved that much closer than it was before, but it's still not exactly a trivial patch. Meanwhile, Andres claimed upthread that none of the currently-proposed reduced-lock ALTER commands affect data that pg_dump is using ruleutils to fetch. If that's the case, then maybe this is a problem that we can punt till later. I've not gone through the list to verify it though. regards, tom lane
В списке pgsql-hackers по дате отправления: