Thread: Count of rows

Count of rows

From
Paul Lambert
Date:
What's the best way to count how many rows are in each table via SQL? Or 
is it even possible?

I'm trying something like:

select tablename, count(*) from (select tablename from pg_tables where 
schemaname = 'public') as test group by tablename;

But obviously this just gives a count of 1 for each table in the public 
schema.

Can it be done or would I have to write a function?

-- 
Paul Lambert
Database Administrator
AutoLedgers



Re: Count of rows

From
"Christian Kindler"
Date:
do this via execute in a stored procedure - something like this (written on the flow - untested!)

returns setof text

declaremy_record record;my counter as bigint;

begin

for my_record in   select tablename from pg_tables where  schemaname = 'public' 
loop  execute into counter      'select count(*) from ' || my_record.tablename ;  return next my_record.tablename || ':
'|| counter::text;
 

end loop;  return null;

end;


On Fri, August 3, 2007 7:35 am, Paul Lambert wrote:
> What's the best way to count how many rows are in each table via SQL? Or
> is it even possible?
> 
> I'm trying something like:
> 
> select tablename, count(*) from (select tablename from pg_tables where
> schemaname = 'public') as test group by tablename;
> 
> But obviously this just gives a count of 1 for each table in the public
> schema.
> 
> Can it be done or would I have to write a function?
> 
> --
> Paul Lambert
> Database Administrator
> AutoLedgers
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
> 


-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger