I was recently exploring the pgstattuple code directory and found this piece of code: https://github.com/postgres/
postgres/blob/master/contrib/ .pgstattuple/pgstattuple.c# L255-L259 It indicates that pgstattuple supports relations, toast tables, materialized views, and sequences.
However, when I executed a query with a sequence, I encountered the following error:postgres=> CREATE SEQUENCE serial START 101;
CREATE SEQUENCE
postgres=> SELECT * FROM pgstattuple('serial');
ERROR: only heap AM is supported
postgres=>It got stuck in this if condition - https://github.com/postgres/
postgres/blob/master/contrib/ pgstattuple/pgstattuple.c# L326-L329
How can one use pgstattuple on sequences?
As-is? Doesn’t look like you can. I agree it’s a documentation bug that this is the case with a brief explanation of why - sequences do not produce dead tuples and do not behave like real tables aside from being able to be selected from (i.e., no SQL update/delete command).
The code should produce an explicit error for that relkind as well.
David J.