Это руководство объясняет работу LIMIT и OFFSET в PostgreSQL, их применение для пагинации данных, причины проблем с производительностью при больших значениях OFFSET и моменты перехода к пагинации на основе курсоров. Включены примеры синтаксиса, обязательные требования ORDER BY, распространенные ошибки и альтернативные методы, соответствующие стандартам PostgreSQL и REST API GitHub.
PostgreSQL / database pagination / LIMIT / OFFSET / cursor-based pagination / query performance
Различайте хранение, валидацию и совместное кэширование. Три политики ответов показывают, когда использовать public с max-age, private с no-cache и no-store.
Cache-Control / HTTP / Caching / Web Development / Privacy / Security / Browser / CDN
Разделите таймаут запроса от общего бюджета повторения, интерпретируйте Retry-After и избегайте дублирования записей, когда результат сервера неизвестен.
HTTP / Retries / Timeouts / Idempotency
Определите вызывающего, полезный груз, атомарную заявку и политику воспроизведения, чтобы повтор имел предсказуемый результат приложения.
web
Как выбирать между пагинацией по смещению и курсором, если данные меняются; требования к порядку, границы согласованности и примеры.
api / pagination / rest / offset / cursor / data consistency / web development
Сначала отличите проблему авторизации от прав доступа, лимитов и недоступности сервиса.
HTTP / API / Troubleshooting
Когда использовать If-None-Match для кеша, If-Match для изменений и как правильно обработать ответы 304 и 412.
HTTP / ETag / Caching
Отличайте доступ к ответу от отправки запроса, проверяйте OPTIONS и настраивайте явные источники для кросс-доменных запросов с учётными данными.
HTTP / CORS / fetch / API / Troubleshooting