diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 50032031976d8a2d2086f57620caf25afb79b100..ee42d2e13df63c2c16f547ead33b689c31bbc0c3 100644
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -521,8 +521,8 @@ execute_extension_script(Oid extensionOid, ExtensionControlFile *control,
 						 const char *schemaName, Oid schemaOid)
 {
 	char       *filename = get_extension_absolute_path(control->script);
-	char	   *save_client_min_messages = NULL,
-			   *save_log_min_messages = NULL,
+	char	   *save_client_min_messages,
+			   *save_log_min_messages,
 			   *save_search_path;
 	StringInfoData pathbuf;
 	ListCell   *lc;
@@ -535,23 +535,19 @@ execute_extension_script(Oid extensionOid, ExtensionControlFile *control,
 	 * We use the equivalent of SET LOCAL to ensure the setting is undone
 	 * upon error.
 	 */
+	save_client_min_messages =
+		pstrdup(GetConfigOption("client_min_messages", false));
 	if (client_min_messages < WARNING)
-	{
-		save_client_min_messages =
-			pstrdup(GetConfigOption("client_min_messages", false));
 		(void) set_config_option("client_min_messages", "warning",
 								 PGC_USERSET, PGC_S_SESSION,
 								 GUC_ACTION_LOCAL, true);
-	}
 
+	save_log_min_messages =
+		pstrdup(GetConfigOption("log_min_messages", false));
 	if (log_min_messages < WARNING)
-	{
-		save_log_min_messages =
-			pstrdup(GetConfigOption("log_min_messages", false));
 		(void) set_config_option("log_min_messages", "warning",
 								 PGC_SUSET, PGC_S_SESSION,
 								 GUC_ACTION_LOCAL, true);
-	}
 
 	/*
 	 * Set up the search path to contain the target schema, then the schemas
@@ -631,15 +627,12 @@ execute_extension_script(Oid extensionOid, ExtensionControlFile *control,
 	(void) set_config_option("search_path", save_search_path,
 							 PGC_USERSET, PGC_S_SESSION,
 							 GUC_ACTION_LOCAL, true);
-
-	if (save_client_min_messages != NULL)
-		(void) set_config_option("client_min_messages", save_client_min_messages,
-								 PGC_USERSET, PGC_S_SESSION,
-								 GUC_ACTION_LOCAL, true);
-	if (save_log_min_messages != NULL)
-		(void) set_config_option("log_min_messages", save_log_min_messages,
-								 PGC_SUSET, PGC_S_SESSION,
-								 GUC_ACTION_LOCAL, true);
+	(void) set_config_option("client_min_messages", save_client_min_messages,
+							 PGC_USERSET, PGC_S_SESSION,
+							 GUC_ACTION_LOCAL, true);
+	(void) set_config_option("log_min_messages", save_log_min_messages,
+							 PGC_SUSET, PGC_S_SESSION,
+							 GUC_ACTION_LOCAL, true);
 }
 
 /*
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index f67e9b9b16290f496f8d4343cbfd6a0f19c5f544..9c812397b1e5fa3614a11fb95f535bf014aaf9df 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -5612,17 +5612,16 @@ static void
 ATExecValidateConstraint(Relation rel, const char *constrName)
 {
 	Relation	conrel;
-	Form_pg_constraint con;
 	SysScanDesc scan;
 	ScanKeyData key;
 	HeapTuple	tuple;
+	Form_pg_constraint con = NULL;
 	bool		found = false;
-	Oid			conid;
 
 	conrel = heap_open(ConstraintRelationId, RowExclusiveLock);
 
 	/*
-	 * Find and the target constraint
+	 * Find and check the target constraint
 	 */
 	ScanKeyInit(&key,
 				Anum_pg_constraint_conrelid,
@@ -5634,17 +5633,23 @@ ATExecValidateConstraint(Relation rel, const char *constrName)
 	while (HeapTupleIsValid(tuple = systable_getnext(scan)))
 	{
 		con = (Form_pg_constraint) GETSTRUCT(tuple);
-
-		if (strcmp(NameStr(con->conname), constrName) != 0)
-			continue;
-
-		conid = HeapTupleGetOid(tuple);
-		found = true;
-		break;
+		if (con->contype == CONSTRAINT_FOREIGN &&
+			strcmp(NameStr(con->conname), constrName) == 0)
+		{
+			found = true;
+			break;
+		}
 	}
 
-	if (found && con->contype == CONSTRAINT_FOREIGN && !con->convalidated)
+	if (!found)
+		ereport(ERROR,
+				(errcode(ERRCODE_UNDEFINED_OBJECT),
+			errmsg("foreign key constraint \"%s\" of relation \"%s\" does not exist",
+				   constrName, RelationGetRelationName(rel))));
+
+	if (!con->convalidated)
 	{
+		Oid			conid = HeapTupleGetOid(tuple);
 		HeapTuple	copyTuple = heap_copytuple(tuple);
 		Form_pg_constraint copy_con = (Form_pg_constraint) GETSTRUCT(copyTuple);
 		Relation	refrel;
@@ -5671,19 +5676,13 @@ ATExecValidateConstraint(Relation rel, const char *constrName)
 		simple_heap_update(conrel, &copyTuple->t_self, copyTuple);
 		CatalogUpdateIndexes(conrel, copyTuple);
 		heap_freetuple(copyTuple);
+
 		heap_close(refrel, NoLock);
 	}
 
 	systable_endscan(scan);
-	heap_close(conrel, RowExclusiveLock);
 
-	if (!found)
-	{
-		ereport(ERROR,
-				(errcode(ERRCODE_UNDEFINED_OBJECT),
-			errmsg("foreign key constraint \"%s\" of relation \"%s\" does not exist",
-				   constrName, RelationGetRelationName(rel))));
-	}
+	heap_close(conrel, RowExclusiveLock);
 }
 
 /*