Thread: Records Number
Hi all, I have a little problem, I would like to execute select * from table and i would like to retrieve the number of records without make select count(*) from table I could use directly the table instead of select, and in this this case I'm searching for something like the reltuples field in the pg_class table, but I need this value in real time. Any suggestion? Enrico -- That's one small step for man; one giant leap for mankind Enrico Pirozzi Tel. +39 0861 1855771 Mob.+39 328 4164437 Fax +39 0861 1850310 www.enricopirozzi.info info@enricopirozzi.info Skype sscotty71
Enrico Pirozzi wrote: > and i would like to retrieve the number of records without make > > select count(*) from table > > I could use directly the table instead of select, and in this this > case I'm searching for > something like the reltuples field in the pg_class table, but I need > this value in real time. If you want an accurate, up-to-date count then you'll need to use count(*) or have a trigger keep a summary-count for you. A simple implementation will reduce concurrency to writes on that table however. Lots of discussion in the mailing-list archives on this. -- Richard Huxton Archonet Ltd
> If you want an accurate, up-to-date count then you'll need to use > count(*) or have a trigger keep a summary-count for you. A simple > implementation will reduce concurrency to writes on that table however. Yes I solved by a trigger.... > Lots of discussion in the mailing-list archives on this. Thank you for your time Enrico -- That's one small step for man; one giant leap for mankind Enrico Pirozzi Tel. +39 0861 1855771 Mob.+39 328 4164437 Fax +39 0861 1850310 www.enricopirozzi.info info@enricopirozzi.info Skype sscotty71
Richard Huxton, 17.03.2009 13:26: > Enrico Pirozzi wrote: >> and i would like to retrieve the number of records without make >> >> select count(*) from table >> >> I could use directly the table instead of select, and in this this >> case I'm searching for >> something like the reltuples field in the pg_class table, but I need >> this value in real time. > > If you want an accurate, up-to-date count then you'll need to use > count(*) or have a trigger keep a summary-count for you. A simple > implementation will reduce concurrency to writes on that table however. > Lots of discussion in the mailing-list archives on this. > Can a trigger solution really give an accurate count in a concurrent insert/delete scenario? Thomas
Thomas Kellerer <spam_eater@gmx.net> writes: > Can a trigger solution really give an accurate count in a concurrent insert/delete scenario? In principle yes, but AFAIK no one has really coded it up in full detail. See the design that was hashed out in some previous mailing-list thread, involving delta-count records entered into a tracking table by each transaction that inserts or deletes. regards, tom lane