Я выполняю подкачку в своем приложении, возвращая 20 строк из базы данных за один раз с использованием стандартных слов PostgreSQL OFFSET и LIMIT. Например, чтобы получить страницу 1 страницы:
SELECT stuff FROM table WHERE condition ORDER BY stuff OFFSET 0 LIMIT 20
Это требование приложения, которое мы также показываем пользователю общее количество записей. Поэтому, очевидно, я могу получить общее количество, выпустив отдельный запрос:
SELECT COUNT(*) FROM table WHERE condition
Но если есть большое количество строк, это не оптимальное решение. Я замечаю, что MySQL имеет очень полезную функцию FOUND_ROWS(), которая делает именно то, что я ищу:
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function%5Ffound-rows
Есть ли эквивалент в PostgreSQL?