Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: cursor, fetch, batch, memory, transaction

Что такое курсор (cursor) в PostgreSQL?

Проверяет знание механизма поэтапной выборки большого набора результатов.

Короткий ответ

Курсор — это объект, позволяющий на стороне сервера поэтапно считывать результаты запроса, не загружая их сразу в клиентское приложение. Полезен для обработки больших выборок с контролем размера пакетов.

Длинный ответ

Объявление курсора:

BEGIN;
DECLARE cur CURSOR FOR SELECT * FROM large_table;

Чтение данных по частям:

FETCH 100 FROM cur;

Закрытие:

CLOSE cur;
COMMIT;

Преимущества:

  • Снижает потребление памяти на клиенте.

  • Контролирует размер пакетов (batch size).

Ограничения:

  • Требует транзакцию до закрытия.

  • Может держать блокировки.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Postgres

    Postgres

Ключевые слова

#cursor

#fetch

#batch

#memory

#transaction

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.