Clean up useless "skipping" messages for VACUUM/ANALYZE.
authorJeff Davis <jdavis@postgresql.org>
Fri, 13 Jan 2023 22:42:03 +0000 (14:42 -0800)
committerJeff Davis <jdavis@postgresql.org>
Fri, 13 Jan 2023 22:42:03 +0000 (14:42 -0800)
When VACUUM/ANALYZE are run on an entire database, it warns of
skipping relations for which the user doesn't have sufficient
privileges. That only makes sense for tables, so skip such messages
for indexes, etc.

Reviewed-by: Nathan Bossart
Discussion: https://postgr.es/m/c0a85c2e83158560314b576b6241c8ed0aea1745.camel%40j-davis.com

src/backend/commands/vacuum.c

index c4ed7efce36a616eb5c01f97b0e1d355351eb1b9..ea1428dc8c0f53c92cf9869659be7c4853b4f357 100644 (file)
@@ -906,10 +906,6 @@ get_all_vacuum_rels(int options)
        MemoryContext oldcontext;
        Oid         relid = classForm->oid;
 
-       /* check permissions of relation */
-       if (!vacuum_is_permitted_for_relation(relid, classForm, options))
-           continue;
-
        /*
         * We include partitioned tables here; depending on which operation is
         * to be performed, caller will decide whether to process or ignore
@@ -920,6 +916,10 @@ get_all_vacuum_rels(int options)
            classForm->relkind != RELKIND_PARTITIONED_TABLE)
            continue;
 
+       /* check permissions of relation */
+       if (!vacuum_is_permitted_for_relation(relid, classForm, options))
+           continue;
+
        /*
         * Build VacuumRelation(s) specifying the table OIDs to be processed.
         * We omit a RangeVar since it wouldn't be appropriate to complain