Niestety w postgresql SELECT COUNT(*) to często wolniej niż mysql do których często się porównuje.
Możesz użyć następującego zapytania jako alternatywy dla SELECT COUNT(*).
SELECT reltuples FROM pg_class WHERE relname = 'mytable';
Nie zawsze jest to w 100% aktualne, ale w przypadku niezmiennych tabel będzie za każdym razem dokładne. I natychmiast. W przypadku bardzo dużych tabel błąd procentowy będzie bardzo mały, a zatem wart ogromnej oszczędności czasu.
Jeśli ma to znaczenie, a tabela nie zawiera wartości null, możesz użyć
SELECT COUNT(primary_key_column) FROM table
i będzie to znacznie szybsze niż SELECT COUNT(*)