Обсуждение: moving from 6.3.2 to 6.5
Hi I have a relatively large application developed with php and postgres using pg 6.3.2. I read the changelog for v.6.5 and i got a little bit scared, but maybe i understood things in the wrong way. In this application every "race condition" is placed in a begin->end block and most of them even have lock's before they're needed just mo make sure. If I upgrade postgres to 6.5 is there any danger that with the new locking mechanism my app's database starts getting corrupted or start's giving out the wrong type of information? Thanks -- Mario Filipe mjnf@uevora.pt http://neptuno.sc.uevora.pt/~mjnf
Mario Jorge Nunes Filipe wrote: > > Hi > > I have a relatively large application developed with php and postgres > using pg 6.3.2. I read the changelog for v.6.5 and i got a little bit > scared, but maybe i understood things in the wrong way. > > In this application every "race condition" is placed in a begin->end > block and most of them even have lock's before they're needed just mo > make sure. If I upgrade postgres to 6.5 is there any danger that with > the new locking mechanism my app's database starts getting corrupted or > start's giving out the wrong type of information? Ok! Mea culpa. I probably didn't read the RELEASE file but i just saw a message from someone with a similar problem. So, correct me if i'm wrong, as long as i use LOCK's i won't be running into trouble, right ? BTW, do i have to install 6.4 to pass from 6.3 to 6.5? P.S : I'm not thinking about upgrading the production server yetm just the devel one... -- Mario Filipe mjnf@uevora.pt http://neptuno.sc.uevora.pt/~mjnf
Mario Jorge Nunes Filipe wrote: > > Hi > > I have a relatively large application developed with php and postgres > using pg 6.3.2. I read the changelog for v.6.5 and i got a little bit > scared, but maybe i understood things in the wrong way. > > In this application every "race condition" is placed in a begin->end > block and most of them even have lock's before they're needed just mo > make sure. If I upgrade postgres to 6.5 is there any danger that with > the new locking mechanism my app's database starts getting corrupted or > start's giving out the wrong type of information? In 6.5.X LOCK TABLE without any option (without IN ... MODE) does the same things as in prev versions: it stops _any_ (both read and write) concurrent access to locked table. It's bad for performance of read-only transactions - I would recommend to use LOCK TABLE IN EXCLUSIVE MODE to block write access (insert/update/delete/select_for_update) in update transactions and use SERIALIZABLE mode in read-only ones. Vadim