Re: [HACKERS] Re: pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] Re: pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < |
Дата | |
Msg-id | CA+TgmobTQ=71y-c5P9VjWxOREVYWvkKd2ajQ5-J5HRkebdZ8DQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Re: pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: [HACKERS] Re: pgsql: Avoid extra locks in
GetSnapshotData if old_snapshot_threshold <
|
Список | pgsql-committers |
On Thu, Jun 16, 2016 at 11:37 AM, Andres Freund <andres@anarazel.de> wrote: >> If that were really true, why would we not have the problem in >> current production versions that the toast table could be vacuumed >> before the heap, leading to exactly the issue you are talking >> about? > > The issue isn't there without the feature, because we (should) never > access a tuple/detoast a column when it's invisible enough for the > corresponding toast tuple to be vacuumed away. But with > old_snapshot_timeout that's obviously (intentionally) not the case > anymore. Due to old_snapshot_threshold we'll prune tuples which, > without it, would still be considered HEAPTUPLE_RECENTLY_DEAD. Is there really an assumption that the heap and the TOAST heap are only ever vacuumed with the same OldestXmin value? Because that seems like it would be massively flaky. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-committers по дате отправления: