Re: removal of dangling temp tables
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-12-28T17:34:44Z
Lists: pgsql-hackers
On 2018-Dec-28, Tom Lane wrote: > I wrote: > > Alvaro Herrera <alvherre@2ndquadrant.com> writes: > >> I looked at > >> https://github.com/postgrespro/pg_wait_sampling/blob/master/pg_wait_sampling.c > >> https://github.com/citusdata/citus/search?q=pgproc&unscoped_q=pgproc > >> and skimmed a few others can't find any instance where the full struct > >> is used, as opposed to just a pointer to it. > > > No, the point Michael is making is that the array stride in the ProcArray > > is part of our ABI. For example, accessing a PGPROC from its pgprocno > > using the GetPGProcByNumber macro will be broken if we change the > > struct size. I do not think you can assume that no extension does that. > > In fact, there's a counterexample right here in pg_wait_sampling: > > https://github.com/postgrespro/pg_wait_sampling/blob/master/pg_wait_sampling.c#L343 Ughh. I stand corrected. This seems a terrible interface, from an ABI compatibility point of view, and exposing proclist_node_get() as an inline function, doubly so. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Have DISCARD ALL/TEMP remove leftover temp tables
- b7258a30aa6f 9.5.16 landed
- aa2e84d2cc8d 9.6.12 landed
- 3c4ca21093b5 10.7 landed
- 2602838fa338 9.4.21 landed
-
Make autovacuum more selective about temp tables to keep
- 5199abaca318 9.4.21 landed
- a85045cccb1b 9.5.16 landed
- a6ca47cd2f3f 10.7 landed
- 7fc2363a6158 9.6.12 landed
-
Make autovacuum more aggressive to remove orphaned temp tables
- 943576bddcb5 11.0 cited
-
autovacuum: Drop orphan temp tables more quickly but with more caution.
- a734fd5d1c30 10.0 cited