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
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Mahendra Singh <mahi6run@gmail.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-01-07T15:59:22Z
Lists: pgsql-bugs, pgsql-hackers
On Mon, Jan 6, 2020 at 7:22 PM Michael Paquier <michael@paquier.xyz> wrote: > Okay for the first one, printing the OID sounds like a good idea. > Like Tom, I would prefer keeping the relation name with "(null)" for > the schema name. Or even better, could we just print the OID all the > time? What's preventing us from showing that information in the first > place? And that still looks good to have when debugging issues IMO > for orphaned entries. I think we should have two different messages, rather than trying to shoehorn things into one message using a fake schema name. > For the second one, I would really wish that we keep the restriction > put in place by a052f6c until we actually figure out how to make the > operation safe in the ways we want it to work because this puts > the catalogs into an inconsistent state for any object type able to > use a temporary schema, like functions, domains etc. for example able > to use "pg_temp" as a synonym for the temp namespace name. And any > connected user is able to do that. So what? > On top of that, except for tables, > these could remain as orphaned entries after a crash, no? Tables, too, although they want have storage any more. But your patch in no way prevents that. It just makes it harder to fix when it does happen. So I see no advantages of it. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
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