<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Założenie locka(również do odczytu) na wiersz]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=229&amp;type=atom"/>
	<updated>2009-06-10T08:27:56Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=229</id>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=962#p962"/>
			<content type="html"><![CDATA[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!]]></content>
			<author>
				<name><![CDATA[krzysiek89]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=922</uri>
			</author>
			<updated>2009-06-10T08:27:56Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=962#p962</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=961#p961"/>
			<content type="html"><![CDATA[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 ??]]></content>
			<author>
				<name><![CDATA[Rady]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=6</uri>
			</author>
			<updated>2009-06-10T03:19:39Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=961#p961</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=960#p960"/>
			<content type="html"><![CDATA[Nawiazując do tematu, okazuje się że jest rozwiązanie (albo można je oprogramować). W postgresie istnieje cos podobnego do semaforów używanych chociażby w C. 
Rozwiązanie w tym momencie sprowadza się do tego aby każde polecenie, które chce odwołać się do wiersza, próbowało opuścić na nim semafor na czas wykonywania operacji. Pierwsze polecenie, które opuści semafor, spowoduje że każde następne polecenie odwołujące się do tego wiersza zostanie zablokowane (zawieszone), do momentu gdy semafor zostanie podniesiony.
'Semafory' w postgresie nazywają się advisory lock i tu są opisane
[url]http://www.postgresql.org/docs/8.4/static/explicit-locking.html#ADVISORY-LOCKS[/url]
[url]http://www.postgresql.org/docs/8.4/static/functions-admin.html[/url]]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-06-09T20:48:08Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=960#p960</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=959#p959"/>
			<content type="html"><![CDATA[A widzisz to sie nie rozumieliśmy :). Ale niestety wydaje mi sie ze na select'a to tylko access exclusive, chociaz moge sie mylic.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-06-09T12:51:04Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=959#p959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=958#p958"/>
			<content type="html"><![CDATA[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]]></content>
			<author>
				<name><![CDATA[krzysiek89]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=922</uri>
			</author>
			<updated>2009-06-09T12:21:20Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=958#p958</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=957#p957"/>
			<content type="html"><![CDATA[Blokujesz przy pomocy for update? Jak chcesz zablokować jeden wiersz a grup identycznych wierszy w tabeli to uzyj oidów.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-06-09T09:52:59Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=957#p957</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Założenie locka(również do odczytu) na wiersz]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=956#p956"/>
			<content type="html"><![CDATA[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]]></content>
			<author>
				<name><![CDATA[krzysiek89]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=922</uri>
			</author>
			<updated>2009-06-09T09:08:51Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=956#p956</id>
		</entry>
</feed>
