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
