Re:Improved vacuum in PostgreSQL 13
by hans_castorp on Tuesday May 12, 2020 @08:31AM
(#23153216)
That is only needed for VACUUM FULL, not for (auto) vacuum.
[ Parent
| on HN ]
But sometimes VACUUM FULL is necessary for tables as fragmentation will otherwise never be resolved. A common scenario are tables that store some kind of time series events that are updated while active. Older partitions have no write activity but remain heavily fragmented unless VACUUM FULL is issued. For that you need space at least as big as the table. I don't really understand why as page rewrites could happen partly in place.
Overall I love PostgreSQL but the vacuum/MVCC system of MSSQL and Oracle is much better suited for heavy writes, PostgreSQL needs a lot of tweaking in table structures to handle those.
Re:Improved vacuum in PostgreSQL 13
by hans_castorp on Tuesday May 12, 2020 @09:49AM
(#23153937)
I totally agree. Postgres' vacuum is definitely its weakest point.
I hoped to see the "pluggable storage" show up in Postgres 13 (including zheap which uses UNDO logs) but apparently that didn't make it.