This query returns list of tables in a database with their number of rows.
Query
select n.nspname as table_schema,
c.relname as table_name,
c.reltuples as rows
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
where c.relkind = 'r'
and n.nspname not in ('information_schema','pg_catalog')
order by c.reltuples desc;
Columns
- table_schema - schema name
- table_name - table name
- rows - number of rows in a table
Rows
- One row represents one table
- Scope of rows: all tables in a database including tables without rows
- Ordered by number of rows descending, from largest to smallest (in terms of number of rows)
Sample results
Tables by number of rows in pagila database :