On Tue, Jan 07, 2020 at 07:55:17PM -0500, Tom Lane wrote: > * Please revert a052f6c as a separate commit specifically doing that, > so that when it comes time to make the release notes, it's clear that > a052f6c doesn't require documentation.
Okay. Committed the revert first then. > * I think the check on log_min_messages <= LOG is probably wrong, since > LOG sorts out of order for this purpose. Compare is_log_level_output() > in elog.c. I'd suggest not bothering with trying to optimize away the > get_namespace_name call here; we shouldn't be in this code path often > enough for performance to matter, and nobody ever cared about it before. Done. > * I don't greatly like the notation > dropping orphan temp table \"%s.(null).%s\" ... > and I bet Robert won't either. Not sure offhand about a better > idea --- maybe > dropping orphan temp table \"%s\" with OID %u in database \"%s\" And done this way as per the attached. I am of course open to objections or better ideas, though this looks formulation looks pretty good to me. Robert? -- Michael
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index f0e40e36af..22f7bdeaff 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -2202,6 +2202,7 @@ do_autovacuum(void)
Oid relid = lfirst_oid(cell);
Form_pg_class classForm;
ObjectAddress object;
+ char *nspname;
/*
* Check for user-requested abort.
@@ -2249,12 +2250,18 @@ do_autovacuum(void)
continue;
}
- /* OK, let's delete it */
- ereport(LOG,
- (errmsg("autovacuum: dropping orphan temp table \"%s.%s.%s\"",
- get_database_name(MyDatabaseId),
- get_namespace_name(classForm->relnamespace),
- NameStr(classForm->relname))));
+ nspname = get_namespace_name(classForm->relnamespace);
+
+ if (nspname != NULL)
+ ereport(LOG,
+ (errmsg("autovacuum: dropping orphan temp table \"%s.%s.%s\"",
+ get_database_name(MyDatabaseId),
+ nspname, NameStr(classForm->relname))));
+ else
+ ereport(LOG,
+ (errmsg("autovacuum: dropping orphan temp table \"%s\" with OID %u in database \"%s\"",
+ NameStr(classForm->relname), relid,
+ get_database_name(MyDatabaseId))));
object.classId = RelationRelationId;
object.objectId = relid;
signature.asc
Description: PGP signature
