1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problema com consulta no PostgreSql!

Galera estava buscando um select que retorne as tabelas e o numero de registros em um database e encontrei o seguinte:

SELECT 
   n.nspname AS schema_name, 
   c.relname AS table_name, 
   c.reltuples::int AS num_reg 
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace 
                LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace 
WHERE c.relkind = 'r'::char AND nspname NOT IN('information_schema','pg_catalog','pg_toast')
ORDER BY n.nspname;

Mas o problema é que a quantidade de registro está vindo errada, algumas tabelas estão vindo com 0 registros só que existem registros nessas tabelas. Alguém poderia ajudar? desde já obrigado. :D

  • Vc ja cogitou a possibilidade de ser o LEFT JOIN ? Tenta fazer a mesma consulta com RIGH JOIN e INNER JOIN.

    Agora e interessante também você pesquisar sobre isso, para entender como esses tres funcionam.

    Bruno Monteiro   28 de jan de 2015
  • Já sim, quando tento com o right ou inner não me retorna nada.

    Guilherme   28 de jan de 2015
  • Tenta tirar os Join`s. Faz a "uniao" com where so pra testar.

    Tenta tira essa Where tmb pra ver se ta influenciando. Vai testando a query por partes pow. E mais facil de achar o problema assim.

    Bruno Monteiro   28 de jan de 2015
  • Já tentei modificar todo o select mas mesmo assim está retornando errado, acredito que seja algo na criação da mihna tabela ou coisa do tipo.

    Guilherme   28 de jan de 2015
  • Estranho mesmo pow, mas eu ainda acho que e alguma coisa no seu select. Eu te confesso que não tenho conhecimento em PostGre, mas acho que não pode ser outra coisa a não ser a query.

    Bruno Monteiro   28 de jan de 2015
Mostrar todos os 9 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sql post java ou faça a sua própria pergunta.