Re: Freeze avoidance of very large table.
От | Bruce Momjian |
---|---|
Тема | Re: Freeze avoidance of very large table. |
Дата | |
Msg-id | 20150420184839.GL11720@momjian.us обсуждение исходный текст |
Ответ на | Re: Freeze avoidance of very large table. (Sawada Masahiko <sawada.mshk@gmail.com>) |
Ответы |
Re: Freeze avoidance of very large table.
|
Список | pgsql-hackers |
On Mon, Apr 20, 2015 at 04:45:34PM +0900, Sawada Masahiko wrote: > Attached WIP patch adds Frozen Map which enables us to avoid whole > table vacuuming even when full scan is required: preventing XID > wraparound failures. > > Frozen Map is a bitmap with one bit per heap page, and quite similar > to Visibility Map. A set bit means that all tuples on heap page are > completely frozen, therefore we don't need to do vacuum freeze that > page. > A bit is set when vacuum(or autovacuum) figures out that all tuples on > corresponding heap page are completely frozen, and a bit is cleared > when INSERT and UPDATE(only new heap page) are executed. So, this patch avoids reading the all-frozen pages if it has not been modified since the last VACUUM FREEZE? Since it is already frozen, the running VACUUM FREEZE will not modify the page or generate WAL, so is it really worth maintaining a new per-page bitmap just to avoid the sequential scan of tables every 200MB transactions? I would like to see us reduce the need for VACUUM FREEZE, rather than go in this direction. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
В списке pgsql-hackers по дате отправления: