1

Temat: Założenie locka(również do odczytu) na wiersz

Witam.

Mam następujący problem, potrzebuję założyć locka na pojedynczy wiersz, konkretny z którego korzysta jakakolwiek transkacja, wykonywana z dowolnego komputera z sieci. Więc po kolei: Następuje wyszukiwanie rekordów. Chodzi o to, że w bazie danych znajduje się prawie zawsze kilka elementów odpowiadających wyszukiwaniu i tu użytkownik wybiera który rekord go interesuje i w momencie wyboru jest on blokowany aż do oblokowania i na czas około 10 sec. Czasem zdarza się tak, że niezależnie od siebie tym samym rekordem zainteresują się conajmniej dwaj użytkownicy, co powoduje problemy. Blokada calej tabeli nie wchodzi w rachubę, a niestety dokumentacja Postgresa skupia się głównie na tym zagadnieniu, fora, tudzież blogi nie były w stanie mi pomóc... Liczę na to że ktoś już się spotkał z podobnym problemem a przynajmniej ma jakiś pomysł jak to w najprostszy sposób pociągnąć.

Pozdrawiam

2

Odp: Założenie locka(również do odczytu) na wiersz

Blokujesz przy pomocy for update? Jak chcesz zablokować jeden wiersz a grup identycznych wierszy w tabeli to uzyj oidów.

3

Odp: Założenie locka(również do odczytu) na wiersz

Witam.

Blokada for update odpada, gdyż blokuje ona tylko do zapisu, potrzebuję blokady typu ACCESS EXCLUSIVE... OID-y pozwolą mi na taką blokadę?? Mógłbyś jakiś przykład zapodać??

Pozdrawiam,
krzysiek89

4

Odp: Założenie locka(również do odczytu) na wiersz

A widzisz to sie nie rozumieliśmy smile. Ale niestety wydaje mi sie ze na select'a to tylko access exclusive, chociaz moge sie mylic.

5

Odp: Założenie locka(również do odczytu) na wiersz

6

Odp: Założenie locka(również do odczytu) na wiersz

Witam Panowie, przy okazji tematu blokad podepnę się z pytaniem jak zablokować całą tabelę żeby była tylko do odczytu dla select-ów i by przy takiej blokadzie nie można było zablokować żadnego rekordu select-em for update ??

Ostatnio edytowany przez Rady (2009-06-10 05:22:34)

7

Odp: Założenie locka(również do odczytu) na wiersz

Witam,

Dzięki za odzew, potwierdzam że SELECTA blokuje tylko ACCESS EXLUSIVE, co do advisory locks to jak zwykle dokumentacja tylko sugeruje temat, a zachowania trzeba samemu testować... Skoro i Wy radzicie sięgnąć to przysiądę do tego choć sceptycznie bardzo do tego podchodziłem, w sumie nie wiem czemu, pewnie ze względu na to że nigdy nie używałem:)

Pozdrawiam!