Greetings, We generally prefer that you don't top-post on these lists.
* Nikolay Samokhvalov (samokhva...@gmail.com) wrote: > In addition to this, it would be good to consider another optimization for > the default transaction isolation level: making autovacuum to clean dead > tuples in relations that are not currently used in any transaction and when > there are no IN_PROGRESS transactions running at RR or S level (which is a > very common case because RC is the default level and this is what is > actively used in heavily loaded OLTP systems which often suffer from > long-running transactions). I don't know the details of how easy it would > be to implement, but it always wondered that autovacuum has the global XID > "horizon". Yeah, I've had thoughts along the same lines, though I had some ideas that we could actually manage to support it even with RR (at least... not sure about serializable) by considering what tuples the transactions in the system could actually see (eg: even with RR, a tuple created after that transaction started and was then deleted wouldn't ever be able to be seen and therefore could be cleaned up..). A further thought on that was to only spend that kind of effort once a tuple had aged a certain amount, though it depends a great deal on exactly what would need to be done for this. Unfortunately, anything in this area is likely to carry a good bit of risk associated with it as VACUUM doing the wrong thing would be quite bad. Thanks, Stephen
signature.asc
Description: PGP signature