Thread: table row count
Is there a way to get the row count of a user table without doing the? select count(*) from <table> which can take some time and even do a table scan if the table has millions of rows in it. Are there any system tables or views that hold this value for any given user table? -Martin
On Sun, Feb 09, 2003 at 00:08:59 -0500, Martin Hurst <martinh@ix.netcom.com> wrote: > Is there a way to get the row count of a user table without doing the? > > select count(*) from <table> > > which can take some time and even do a table scan if the table has millions > of rows in it. > > Are there any system tables or views that hold this value for any given user > table? No. If you are going to do lots of counts relative to inserts and deletes, you can keep the count in another table and create triggers to update it.
"Martin Hurst" <martinh@ix.netcom.com> writes: > Is there a way to get the row count of a user table without doing the? > select count(*) from <table> If this were an easy problem, count() would do it for you ;-) If you're willing to settle for an approximate answer, pg_class.reltuples might do. It's the row count as of the last VACUUM. regards, tom lane