Pessoal, Outra opção é realizar um select na tabela pg_class pelo atributo reltuples, assim é possível extrair a quantidade de linhas da sua tabela. Porém, é importante executar o analyze no mínimo uma vez por dia para ter estatísticas mais precisas.
O select é: SELECT reltuples FROM pg_class WHERE relname='nome_da_tabela'; []s 2009/2/18 Nilson Chagas <nilson.chagas.si...@gmail.com>: > Puxa vou ler sobre. > > []s > Nilson Chagas - Ubuntu User 25794 > --- > Visite: > http://www.amados.com.br/podcast -> Peça gratuitamente um curso Bíblico > http://tempodesalvacao.blogspot.com/ > http://bbnradio.org/ -> Ouça a rádio e faça gratuitamente um Curso Biblico > > > > > 2009/2/18 Dickson S. Guedes <lis...@guedesoft.net> >> >> 2009/2/18 sergio santos <sergio.serginhos...@gmail.com>: >> > Veja bem pessoal, >> > se eu usar o limit o método RecordCount do Adodb vai me retornar o valor >> > limit e não o número de registro. >> > Sendo assim, como estou fazendo uma paginação, vai ficar difícil saber o >> > número de páginas vou ter >> > >> > o que vocês acham? >> >> Ola Sergio, >> >> Você precisa saber *exatamente* quantas paginas darão? Uma estimativa >> (assim como o Google faz) já não ajudaria? >> >> Dependendo do tamanho desta sua tabela você pode aproveitar as >> estatísticas do banco, ao invés de fazer um count(*) para saber o >> total de registros e paginar. >> >> Faça um teste de exemplo em uma *base de teste*: >> >> CREATE TABLE temp (a int); >> INSERT INTO temp SELECT generate_series(1,100000); >> SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; >> ANALYZE temp; >> SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; >> INSERT INTO temp SELECT generate_series(1,20000); >> SELECT count(*) from temp; >> ANALYZE temp; >> SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; >> SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; >> SELECT pg_stat_get_live_tuples(oid) from pg_class where relname = 'temp'; >> SELECT count(*) from temp; >> DROP TABLE temp; >> >> Veja como os resultados podem variar no caso do count a medida que o >> volume de dados vai crescendo. >> >> Obviamente o script acima não contem a solução pronta, é apenas uma >> demonstração de que é possível trabalhar com estimativas ao invés de >> exatos, em determinadas situações. >> >> Para se aprofundar, leia: >> >> http://www.postgresql.org/docs/current/static/monitoring-stats.html >> >> >> Dickson S. Guedes >> - >> mail/xmpp: gue...@guedesoft.net - skype: guediz >> http://guedesoft.net - http://planeta.postgresql.org.br >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- João Paulo www.dextra.com.br/postgres PostgreSQL _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral