Re: Assert failure due to "drop schema pg_temp_3 cascade" for temporary tables and \d+ is not showing any info after drooping temp table schema
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Mahendra Singh Thalor <mahi6run@gmail.com>,
Robert Haas <robertmhaas@gmail.com>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-02-28T18:45:29Z
Lists: pgsql-bugs, pgsql-hackers
Attachments
- handle-missing-temp-namespace-better-1.patch (text/x-diff) patch
I wrote: > Also, I notice that isTempNamespaceInUse is already detecting the case > where the namespace doesn't exist or isn't really a temp namespace. > I wonder whether it'd be better to teach that to return an indicator about > the namespace not being what you think it is. That would force us to look > at its other callers to see if any of them have related bugs, which seems > like a good thing to check --- and even if they don't, having to think > about the point in future call sites might forestall new bugs. After poking around, I see there aren't any other callers. But I think that the cause of this bug is clearly failure to think carefully about the different cases that isTempNamespaceInUse is recognizing, so that the right way to fix it is more like the attached. In the back branches, we could leave isTempNamespaceInUse() in place but unused, just in case somebody is calling it. I kind of doubt that anyone is, given the small usage in core, but maybe. regards, tom lane
Commits
-
Avoid failure if autovacuum tries to access a just-dropped temp namespace.
- d7684c38a5e9 12.3 landed
- 80d76be51cfb 13.0 landed
- 7ea20a2bc6bd 11.8 landed
-
Revert "Forbid DROP SCHEMA on temporary namespaces"
- b83ba2e6e706 9.4.26 landed
- 86949c2f1207 9.5.21 landed
- 50174b70e779 9.6.17 landed
- 0c046f816902 10.12 landed
- 789bc293b341 11.7 landed
- a1c003e5ff82 12.2 landed
- 65192e02441c 13.0 landed
-
Forbid DROP SCHEMA on temporary namespaces
- 898e0c650097 9.4.26 landed
- 12cb5478a2a4 9.5.21 landed
- cb6f94a5219d 9.6.17 landed
- f1958351eae2 10.12 landed
- 786540085dbd 11.7 landed
- 1dd88201ad6e 12.2 landed
- a052f6cbb84e 13.0 landed
-
Make autovacuum more aggressive to remove orphaned temp tables
- 246a6c8f7b23 12.0 cited
-
Code review for early drop of orphaned temp relations in autovacuum.
- dafa0848da11 10.0 cited