pgsql: Make autovacuum more selective about temp tables to keep

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема pgsql: Make autovacuum more selective about temp tables to keep
Дата
Msg-id E1gcax6-00011m-RO@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Make autovacuum more selective about temp tables to keep

When temp tables are in danger of XID wraparound, autovacuum drops them;
however, it preserves those that are owned by a working session.  This
is desirable, except when the session is connected to a different
database (because the temp tables cannot be from that session), so make
it only keep the temp tables only if the backend is in the same database
as the temp tables.

This is not bulletproof: it fails to detect temp tables left by a
session whose backend ID is reused in the same database but the new
session does not use temp tables.  Commit 943576bddcb5 fixes that case
too, for branches 11 and up (which is why we don't apply this fix to
those branches), but back-patching that one is not universally agreed
on.

Discussion: https://postgr.es/m/20181214162843.37g6h3txto43akrb@alvherre.pgsql
Reviewed-by: Takayuki Tsunakawa, Michaël Paquier

Branch
------
REL9_4_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5199abaca318f0571aa3df09f5b700335d7d62d1

Modified Files
--------------
src/backend/postmaster/autovacuum.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Remove obsolete IndexIs* macros
Следующее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Have DISCARD ALL/TEMP remove leftover temp tables