I've asked russian postgresql users to proceed my deadlock example.
http://sql.ru/forum/actualthread.aspx?tid=418296
Here is the results.
OS, version, build
PG version, build
Status
(Person)
SUSE Linux 10.1
8.1.4 from official SUSE distribution
deadlock between /*1*/ and /*3*/ detected
(Nalbat)
SUSE Linux 10.1
8.2.3 self-made package
/*3*/ waits for /*1*/, deadlock not detected
(Nalbat)
itanium2(Debian)
8.2.3
deadlock not detected
(SergeyK)
laptop(Slackware)
8.2.3
deadlock not detected
(SergeyK)
SUSE 10.0
8.1.4 self-made
deadlock detected
(SergeyK)
Windows 2000 Pro Rus
8.0.4
/*2*/ waits, deadlock not detected
(ZemA)
Windows 2000 Pro Rus
8.1.3
deadlock detected
(ZemA)
win xp sp2
8.2.0, i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.2 (mingw-special)
/*3*/ waits for /*1*/, deadlock not detected
(st_serg)
It seems that deadlock rises for Postgresql 8.1 at any operating system.
Tom Lane wrote:
> Alexey Nalbat <nalbat@price.ru> writes:
> > Tom Lane wrote:
> >> Your example doesn't deadlock for me ...
>
> > With default value "deadlock_timeout=1000" error raises in first transaction:
>
> Then there's a typo in your example --- please recheck it.
--
Alexey A. Nalbat
Price Express
http://www.price.ru/
http://www.tyndex.ru/