RE: Temporary tables prevent autovacuum, leading to XID wraparound

Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com>

From: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
To: 'Michael Paquier' <michael@paquier.xyz>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Cc: "tgl@sss.pgh.pa.us" <tgl@sss.pgh.pa.us>, "robertmhaas@gmail.com" <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-07-27T08:27:26Z
Lists: pgsql-hackers
Thank you, Michael and Horiguchi-san,

From: Michael Paquier [mailto:michael@paquier.xyz]
> autovacuum.c is a pretty bad place for stuff as namespace.c holds all the
> logic related to temporary tablespaces, so I renamed the routine to
> isTempNamespaceInUse and moved it there.

I don't have a strong opinion, but I wonder which of namespace.c or autovacuum.c is suitable, because isTempNamespaceInUse is specific to autovacuum.


Regards
Takayuki Tsunakawa
 





Commits

  1. Clarify comment about assignment and reset of temp namespace ID in MyProc

  2. Make autovacuum more aggressive to remove orphaned temp tables

  3. Don't count background workers against a user's connection limit.