|
|
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
Добрый день. в postgresql я не силен. Читаю форум, документацию. в транзакциях тоже не разбираюсь. Перешел с другой субд на postgresql. Суть вопроса. Пишу систему продажи билетов. Много кассиров продают билеты на один рейс. Количество мест конечно ограниченно. После того как кассир выбрала место - эта запись должна заблокироваться именно запись а не таблица. Кассир запись может завесить на достаточно большой срок - несколько минут и выяснять подробности с пассажиром - потом произвести оплату. какими средствами это можно сделать подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2016, 10:47 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
CopperHead, SQL SELECT … FOR UPDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2016, 10:54 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
CopperHead, блокировки уровня базы данных к системам склад/резервирование прямого отношения не имеют. обычно требуется несколько промежуточных статусов, правила перехода между ними, контроль из других сессий кто, когда, сколько, очередь и место в очереди и прочие бизнес-заморочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2016, 11:45 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
p2., +1 CopperHeadКассир запись может завесить на достаточно большой срок - несколько минут и выяснять подробности с пассажиром вот, при пессимистической блокировке (SELECT … FOR UPDATE) у остальных при попытке продать бидет будет райзе в приложении. С выводом что запись заблокирована. А что лучше - ТС пусть решает сам. Пессимистическую или оптимистическую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2016, 11:56 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
Petro123, Эта блокировка подходит! Спасибо. select ... for update - в теле транзакции, или можно без транзакции использовать? Если без транзакции , то чем я смогу разлочить запись? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 08:27 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
p2., то есть вы хотите сказать что это решается на уровне триггеров и специальными полями-статусами в таблицах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 08:29 |
|
||
|
Блокировка записей в таблице.
|
|||
|---|---|---|---|
|
#18+
CopperHeadselect ... for update - в теле транзакции, или можно без транзакции использовать? это уже детали - пробуйте. CopperHeadто чем я смогу разлочить запись? после того как Иванов сделает коммит в Урюпинске, Ты в Питере сможешь сделать select ...update сам без райзе. Минус в том, что если в Урюпинске он заснул за клавой, то ты не узнешь кто заблокировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 10:17 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39163776&tid=1997466]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 425ms |

| 0 / 0 |
