[GENERAL] Psql command for rowcount

2008-09-11 Thread Markova, Nina
Hi,

Is there a psql or other command that I can use to list tables and their
rows? All I found is this:
http://archives.postgresql.org/pgsql-hackers/2004-09/msg00876.php

The describe (\d) command (or \td+ ) doesn't show them (I  expected
tuples count to be  there too) - I can only see name, type, owner.

 Schema |   Name| Type  |  Owner   
+---+---+--
 public | a0factor  | table | postgres  - tuples count
 public | a0factor2 | table | postgres
 public | actionlog | table | postgres
 public | deployment_access | table | postgres
 public | fircoef   | table | postgres
 public | firfilt   | table | postgres
 public | instrument| table | postgres
 public | netmap| table | postgres
 public | ops_initials  | table | postgres
 public | opslog| table | postgres
 public | opslog2actionlog  | table | postgres
 public | participation | table | postgres
 public | pazdesc   | table | postgres
 public | pazvals   | table | postgres
 public | snetsta   | table | postgres
(15 rows)

Thanks in advance,
Nina


Re: [GENERAL] Psql command for rowcount

2008-09-11 Thread David Wilson
On Thu, Sep 11, 2008 at 3:19 PM, Markova, Nina [EMAIL PROTECTED] wrote:
 Is there a psql or other command that I can use to list tables and their
 rows? All I found is this:
 http://archives.postgresql.org/pgsql-hackers/2004-09/msg00876.php

select tablename,reltuples from pg_class inner join pg_tables on
tablename=relname where tablename !~* 'pg_*' and tablename !~*
'sql_*';

Remember that the reltuples count is an *estimate* and won't be 100%
an accurate- only a count(*) will get you that.

-- 
- David T. Wilson
[EMAIL PROTECTED]

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Psql command for rowcount

2008-09-11 Thread Chander Ganesan

David Wilson wrote:

On Thu, Sep 11, 2008 at 3:19 PM, Markova, Nina [EMAIL PROTECTED] wrote:
  

Is there a psql or other command that I can use to list tables and their
rows? All I found is this:
http://archives.postgresql.org/pgsql-hackers/2004-09/msg00876.php



select tablename,reltuples from pg_class inner join pg_tables on
tablename=relname where tablename !~* 'pg_*' and tablename !~*
'sql_*';

Remember that the reltuples count is an *estimate* and won't be 100%
an accurate- only a count(*) will get you that.
  
And it may not be accurate at all unless you or autovacuum has done a 
recent ANALYZE ...  Also keep in mind that in PostgreSQL, a count(*) 
will actually do a table scan, and could be time (and I/O) consuming if 
you are looking at a large table.


--
Chander Ganesan
Open Technology Group, Inc.
One Copley Parkway, Suite 210
Morrisville, NC  27560
919-463-0999/877-258-8987
http://www.otg-nc.com
Ask me about Expert PostgreSQL and PostGIS training - delivered worldwide.