Re: How to make lazy VACUUM of one table run in several transactions ?
От | Tom Lane |
---|---|
Тема | Re: How to make lazy VACUUM of one table run in several transactions ? |
Дата | |
Msg-id | 18298.1115044719@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: How to make lazy VACUUM of one table run in several (Hannu Krosing <hannu@tm.ee>) |
Ответы |
Re: How to make lazy VACUUM of one table run in several
|
Список | pgsql-hackers |
Hannu Krosing <hannu@tm.ee> writes: > A more general solution to the problem "VACUUM does not clean dead > tuples fast enough due to an old transaction" problem is keeping the > OldestXmin for each table separately as a list of table OIDs in each > PGPROC. > This would be automatically extandable to long COPY, or in fact any > single SQL statement running in its implicit transaction by examining > the query plan and reserving all tables touched by the query and its > dependencies. This is completely unworkable, since it amounts to assuming you know at the start of a serializable transaction which tables it will touch. In point of fact you can't even know that for the current query let alone future ones --- consider user-defined functions. (Not to mention that we can't expect to fit that much info into a fixed amount of shared memory.) regards, tom lane
В списке pgsql-hackers по дате отправления: