pgstattuple_approx for toasted table

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

pgstattuple_approx for toasted table

Mariel Cherkassky
Hi,
I was testing pgstattuple and I realized that pgstattuple is working on toasted table but pgstattuple_approx is raising the next error msg : 

ERROR:  "pg_toast_18292" is not a table or materialized view

ahm, is that because the pgstattuple_approx uses visibility map ? Can someone explain ? tnx.
Reply | Threaded
Open this post in threaded view
|

Re: pgstattuple_approx for toasted table

Laurenz Albe
Mariel Cherkassky wrote:
> I was testing pgstattuple and I realized that pgstattuple is working on toasted table but pgstattuple_approx is raising the next error msg :
>
> ERROR:  "pg_toast_18292" is not a table or materialized view
>
> ahm, is that because the pgstattuple_approx uses visibility map ? Can someone explain ? tnx.

You are right; here is the code:

    /*
     * We support only ordinary relations and materialised views, because we
     * depend on the visibility map and free space map for our estimates about
     * unscanned pages.
     */
    if (!(rel->rd_rel->relkind == RELKIND_RELATION ||
          rel->rd_rel->relkind == RELKIND_MATVIEW))
        ereport(ERROR,
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                 errmsg("\"%s\" is not a table or materialized view",
                        RelationGetRelationName(rel))));

Yours,
Laurenz Albe

--
Cybertec | https://www.cybertec-postgresql.com