Most efficient report of number of records in all tables? - Mailing list pgsql-general

From D. Dante Lorenso
Subject Most efficient report of number of records in all tables?
Date
Msg-id 45E35D17.3040205@lorenso.com
Whole thread Raw
Responses preventing ALTER TABLE RENAME from changing view definitions?  ("George Pavlov" <gpavlov@mynewplace.com>)
Re: Most efficient report of number of records in all tables?  ("Dann Corbit" <DCorbit@connx.com>)
List pgsql-general
All,

I can find the names of all tables in the database with this query:

    SELECT table_name
    FROM information_schema.tables
    WHERE table_type = 'BASE TABLE'
    AND table_schema NOT IN ('pg_catalog', 'information_schema')
    ORDER BY table_name ASC;


Then, in code, I can loop through all the table names and run the
following query:

    SELECT COUNT(*) AS result
    FROM $table;


But, this can be slow when I have a large number of tables of some
tables have several million rows.

Is there a faster way to get this data using table statistics or
something like that?  Perhaps something in a single query?

-- Dante




pgsql-general by date:

Previous
From: Tony Caduto
Date:
Subject: grant on sequence and pg_restore/pg_dump problem
Next
From: "George Pavlov"
Date:
Subject: preventing ALTER TABLE RENAME from changing view definitions?