[Postgresql] Select for update
Replay - 08-08-2007 00:03
[Postgresql] Select for update
Czy ktos moze mi lopatologicznie wytlumaczyc jak z tego mozna korzystac? Chodzi mi o to ze chciabym zablokowac pojedynczy wiersz i chcialbym moc sprawdzic czy jest zablokowany i przez kogo, a kazda proba update do momentu zewolnienia zeby konczyla sie komunikatem w postgresql-u
Maciej.
hubert depesz lubaczewski - 08-08-2007 00:03
Dnia 07.08.2007 Replay <replay@poczta.onet.pl> napisał/a: > Czy ktos moze mi lopatologicznie wytlumaczyc jak z tego mozna korzystac? > Chodzi mi o to ze chciabym zablokowac pojedynczy wiersz i chcialbym moc > sprawdzic czy jest zablokowany i przez kogo, a kazda proba update do momentu > zewolnienia zeby konczyla sie komunikatem w postgresql-u
sprawdzić możesz w pg_locks. "komunikatem"? jak rekord jest zalockowany, to inny update jaki puścisz do tego rekordu po prostu będzie czekał aż lock się zwolni. jak nie chcesz czekać, to dajesz "for update nowait", ale wtedy sam musisz to obsłużyć.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
Replay - 08-08-2007 00:03
> dajesz "for update nowait", ale wtedy sam musisz to obsłużyć. >
Wlasnie o cos takiego mi chodzilo - tylko jescze pytanko - koniecznie trzeba to zawrzec w blok - begin/commit? Bo z tego co kojarze to pgsql kazde polecenie traktuje chyba jako oddzielna transakcje.....?
Maciej.
Replay - 08-08-2007 00:03
Jeszcze jedno - czy mozna jakos sprawdzic usera ktory blokuje dan wiersz?
Maciej.
hubert depesz lubaczewski - 08-08-2007 00:03
Dnia 07.08.2007 Replay <replay@poczta.onet.pl> napisał/a: > Jeszcze jedno - czy mozna jakos sprawdzic usera ktory blokuje dan wiersz?
select * from pg_locks.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
hubert depesz lubaczewski - 08-08-2007 00:03
Dnia 07.08.2007 Replay <replay@poczta.onet.pl> napisał/a: > Wlasnie o cos takiego mi chodzilo - tylko jescze pytanko - koniecznie trzeba > to zawrzec w blok - begin/commit? > Bo z tego co kojarze to pgsql kazde polecenie traktuje chyba jako oddzielna > transakcje.....?
wiesz - select for update trzyma locka do czasu aż się transakcja nie skończy. czyli jak nie weźmiesz: select for update update w block begin/commit - to wiele ci to nie da.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
Replay - 09-08-2007 00:00
[EOT] [Postgresql] Select for update
Dzieki serdecznie za pomoc :-)
Maciej.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
=?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?=
postgres - ile razy wykona =?ISO-8859-2?Q?si=EA_funkcja_w_?==?ISO-8859-2?Q?zapytaniu?=
zanotowane.pldoc.pisz.plpdf.pisz.plmelooonka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|