Use cursors. By far the most flexible. offset/limit have their down sides.
pgsql-performance by date:
Соглашаюсь с условиями обработки персональных данных