Re: PL/PgSQL for counting all rows in all tables.
От | Dave Page |
---|---|
Тема | Re: PL/PgSQL for counting all rows in all tables. |
Дата | |
Msg-id | E7F85A1B5FF8D44C8A1AF6885BC9A0E43068F1@ratbert.vale-housing.co.uk обсуждение исходный текст |
Ответ на | PL/PgSQL for counting all rows in all tables. (David Fetter <david@fetter.org>) |
Ответы |
Re: PL/PgSQL for counting all rows in all tables.
|
Список | pgsql-hackers |
> -----Original Message----- > From: pgsql-hackers-owner@postgresql.org > [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Ian FREISLICH > Sent: 05 October 2004 09:57 > To: Greg Sabino Mullane > Cc: pgsql-hackers@postgresql.org > Subject: Re: [HACKERS] PL/PgSQL for counting all rows in all tables. > > "Greg Sabino Mullane" wrote: > > ANALYZE; > > > > SELECT n.nspname, relname, reltuples > > FROM pg_class c, pg_namespace n > > WHERE c.relnamespace=n.oid > > AND relkind='r' > > AND NOT n.nspname ~ '^pg_' > > ORDER BY 1,2; > > Maybe this gem should be passed onto the pgadmin folks. When > you click on a table name in the interface it does what I can > only presume is a count(*) from relation, which takes forever > on enormous relations. It then claims this to be a row > estimate anyway, so they could probably drop the analyze. The 'Rows (counted)' value is taken from a count(*), but only if the 'Rows (estimated)' value (which comes from pg_class.reltuples, as above, but without the costly analyze) is less than the cut-off value set in the options dialogue. So, if you never want to wait for the exact row count, just set the appropriate option to zero. Regards Dave
В списке pgsql-hackers по дате отправления: