powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Блокировка записей в таблице.
9 сообщений из 9, страница 1 из 1
Блокировка записей в таблице.
    #39162705
CopperHead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. в postgresql я не силен. Читаю форум, документацию. в транзакциях тоже не разбираюсь. Перешел с другой субд на postgresql. Суть вопроса. Пишу систему продажи билетов. Много кассиров продают билеты на один рейс. Количество мест конечно ограниченно. После того как кассир выбрала место - эта запись должна заблокироваться именно запись а не таблица. Кассир запись может завесить на достаточно большой срок - несколько минут и выяснять подробности с пассажиром - потом произвести оплату. какими средствами это можно сделать подскажите.
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39162712
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CopperHead,
SQL SELECT … FOR UPDATE
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39162728
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CopperHead,

advisory locks
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39162789
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CopperHead,

блокировки уровня базы данных к системам склад/резервирование прямого отношения не имеют.
обычно требуется несколько промежуточных статусов, правила перехода между ними, контроль из других сессий кто, когда, сколько, очередь и место в очереди и прочие бизнес-заморочки.
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39162802
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.,
+1
CopperHeadКассир запись может завесить на достаточно большой срок - несколько минут и выяснять подробности с пассажиром
вот, при пессимистической блокировке (SELECT … FOR UPDATE) у остальных при попытке продать бидет будет райзе в приложении.
С выводом что запись заблокирована.
А что лучше - ТС пусть решает сам.
Пессимистическую или оптимистическую.
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39163486
CopperHead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Эта блокировка подходит! Спасибо.
select ... for update - в теле транзакции, или можно без транзакции использовать? Если без транзакции , то чем я смогу разлочить запись? Заранее спасибо
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39163488
CopperHead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
p2.,

то есть вы хотите сказать что это решается на уровне триггеров и специальными полями-статусами в таблицах?
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39163583
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CopperHeadselect ... for update - в теле транзакции, или можно без транзакции использовать?
это уже детали - пробуйте.
CopperHeadто чем я смогу разлочить запись?
после того как Иванов сделает коммит в Урюпинске, Ты в Питере сможешь сделать select ...update сам без райзе.
Минус в том, что если в Урюпинске он заснул за клавой, то ты не узнешь кто заблокировал.
...
Рейтинг: 0 / 0
Блокировка записей в таблице.
    #39163776
CopperHead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Понял, тестирую . Спасибо!!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Блокировка записей в таблице.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]