Contar registros

<< Click to Display Table of Contents >>

Navigation:  PostgreSQL > Avançado >

Contar registros

Previous pageReturn to chapter overviewNext page

Quantos registros do banco inteiro

 

SELECT sum(C.reltuples)::int

FROM pg_class C

WHERE c.relkind = 'r'::char

 

Result

  sum

-------

 15030

(1 row)

 

Saber quantidade de registros por tabela

 

SELECT n.nspname AS schemaname,

        c.relname AS tablename,

        C.reltuples::int AS Registros

 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 ('dbateste''information_schema''pg_catalog',

        'pg_temp_1''pg_toast''postgres''publico''public')

 ORDER BY n.nspname

 

Result

 schemaname |            tablename            | registros

------------+---------------------------------+-----------

 banco      | tb_banco_tipo_hist              |        53

 banco      | tb_conta_hist_numero            |         4

 banco      | tb_banco_conta                  |        15

 banco      | tb_banco                        |        19

 banco      | tb_agencia                      |        10

 banco      | tb_banco_mvto                   |      7519

 banco      | tb_banco_tarifa                 |         9

 bb         | tb_vip239_ag_vencida15          |      1323

 

Saber quantidade de registros por schema

 

SELECT n.nspname,

        sum(c.reltuples) ::int

 FROM pg_class c

      LEFT JOIN pg_namespace n ON n.oid = c.relnamespace

 WHERE c.relkind = 'r' ::char AND

       nspname NOT IN ('dbateste''information_schema''pg_catalog',

                       'pg_temp_1',' pg_toast''postgres''publico''public')

 GROUP BY n.nspname

 

Result

  nspname   |   sum

------------+----------

 bb         |  2798313

 tesouraria |    37591

 receber    |  4368358

 frente     |    25274

 historico  |  3838602

 produto    |  2481692

 cep        |   998114

 pedido     |   175643

 venda      |  2014305

(19 rows)

 

Saber quantidade de registros de um determinado schema

 

SELECT n.nspname,

        sum(c.reltuples) ::int

 FROM pg_class c

      LEFT JOIN pg_namespace n ON n.oid = c.relnamespace

 WHERE c.relkind = 'r'::char AND

       nspname = 'cadastro'

 GROUP BY n.nspname

 

Result

 nspname  |   sum

----------+---------

 cadastro | 1408601

(1 row)