Hmm.. Uma solução um tanto ardilosa, não?
O count(*) é extremamente custoso.

Sugestão:

1) rodar o ANALYZE FULL (em todo o banco)

2) utilizar o campo "reltuples", ex:

SELECT sum(reltuples) as qtd_linhas
FROM pg_class
WHERE relkind = 'r';

3) criar uma view com a instrução SQL

4) executar em qualquer ambiente/plataforma/ferramenta

-- 
Rodrigo Hjort
http://icewall.org/~hjort


2006/9/19, Ribamar Sousa <[EMAIL PROTECTED]>:
> Olá!
>
> Aqui onde trabalho praticamente temos um único banco, contendo
> diversos esquemas.
> Acabei por conseguir o que queria ajudado pelo PHP. Veja:
>
> <?php
>
> $conexao=pg_connect("host=10.40.2.75 dbname=apoena user=postgres
> password=postgres");
>
> $sql="SELECT n.nspname as esquema,c.relname as tabela  FROM
> pg_namespace n, pg_class c
>   WHERE n.oid = c.relnamespace
>     and c.relkind = 'r'     -- no indices
>     and n.nspname not like 'pg\\_%' -- no catalogs
>     and n.nspname != 'information_schema' -- no information_schema
>   ORDER BY nspname, relname";
>
> $consulta=pg_query($conexao,$sql);
>
> $resultado=pg_fetch_array($consulta,0);
>
>
> while ($data = pg_fetch_object($consulta)) {
> //    print $data->esquema.'<br />';
>       //print $data->tabela.'<br />';
>       $esquematab=$data->esquema.'.'.$data->tabela;
>       $sql2="SELECT count(*) FROM $esquematab";
>       $cons=pg_query($conexao,$sql2);
>       $res=pg_fetch_array($cons);
>       $total += $res[0];
> }
>       print "Total de Registro de todas as tabelas do banco apoena ". $total;
>
> ?>
>
> --
> Ribamar FS - ribafs[ ]users.sourceforge.com
> http://www.ribafs.net
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a