За много бърза оценка:
SELECT reltuples FROM pg_class WHERE relname = 'my_table';
Има обаче няколко предупреждения. Първо, relname не е непременно уникален в pg_class . Може да има няколко таблици с едно и също relname в множество схеми на базата данни. За да бъдем недвусмислени:
SELECT reltuples::bigint FROM pg_class WHERE oid = 'my_schema.my_table'::regclass;
Ако не квалифицирате по схема името на таблицата, прехвърляне към regclass наблюдава текущия search_path за да изберете най-доброто съвпадение. И ако таблицата не съществува (или не може да се види) в някоя от схемите в search_path получавате съобщение за грешка. Вижте Типове идентификатори на обекти в ръководството.
Прехвърлянето към bigint форматира real номер добре, особено за големи бройки.
Също така, reltuples може да бъде повече или по-малко остарял. Има начини да компенсирате това до известна степен. Вижте този по-късен отговор с нови и подобрени опции:
- Бърз начин да откриете броя на редовете на таблица в PostgreSQL
И заявка към pg_stat_user_tables е много пъти по-бавно (макар и много по-бързо от пълното броене), тъй като това е изглед на няколко маси.