diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 1301bcb5e82..3ef3bd4b067 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -408,6 +408,19 @@ ExecAlterObjectDependsStmt(AlterObjectDependsStmt *stmt, ObjectAddress *refAddre get_object_address_rv(stmt->objectType, stmt->relation, stmt->objname, stmt->objargs, &rel, AccessExclusiveLock, false); + /* + * Verify that the user is entitled to run the command. + * + * We don't check any privileges on the extension, because that's not + * needed. The object owner is stipulating, by running this command, that + * the extension owner can drop the object whenever they feel like it, + * which is not considered a problem. + */ + check_object_ownership(GetUserId(), + stmt->objectType, address, + stmt->objname, stmt->objargs, + rel); + /* * If a relation was involved, it would have been opened and locked. We * don't need the relation here, but we'll retain the lock until commit.