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.  (Robert Treat <xzilla@users.sourceforge.net>)
Список 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 по дате отправления:

Предыдущее
От: Ian FREISLICH
Дата:
Сообщение: Re: PL/PgSQL for counting all rows in all tables.
Следующее
От: Jason Tishler
Дата:
Сообщение: Re: [CYGWIN] cygwin test package available