We check it there: "tabentry->vacuum_ext.type != type". Or were you talking about something else?

On 19.08.2024 12:32, jian he wrote:
in pg_stats_vacuum
     if (type == PGSTAT_EXTVAC_INDEX || type == PGSTAT_EXTVAC_HEAP)
     {
         Oid                    relid = PG_GETARG_OID(1);

         /* Load table statistics for specified database. */
         if (OidIsValid(relid))
         {
             tabentry = fetch_dbstat_tabentry(dbid, relid);
             if (tabentry == NULL || tabentry->vacuum_ext.type != type)
                 /* Table don't exists or isn't an heap relation. */
                 PG_RETURN_NULL();

             tuplestore_put_for_relation(relid, rsinfo, tabentry);
         }
         else
         {
        }


So for functions pg_stat_vacuum_indexes and pg_stat_vacuum_tables,
it seems you didn't check "relid" 's relkind,
you may need to use get_rel_relkind.

--
Regards,
Alena Rybakina
Postgres Professional:http://www.postgrespro.com
The Russian Postgres Company

Reply via email to