From: | "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM> |
---|---|
To: | "'Rini Dutta'" <rinid(at)rocketmail(dot)com>, pgsql-sql(at)hub(dot)org |
Cc: | pgsql-hackers(at)hub(dot)org, "Jan Wieck (E-mail)" <janwieck(at)yahoo(dot)com> |
Subject: | RE: foreign key introduces unnecessary locking ? |
Date: | 2000-10-09 23:11:04 |
Message-ID: | 8F4C99C66D04D4118F580090272A7A23018D41@SECTORBASE1 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-sql |
Try this for both FK tables:
create table tmp2(idx2 int4, col2 int4, constraint
tmpcon2 foreign key(col2) references tmp1(idx) INITIALLY DEFERRED);
This will defer constraint checks till transaction commit...
though constraint triggers should use SnapshotDirty instead of
SELECT FOR UPDATE anyway.
Did you consider this, Jan?
Vadim
> When two tables (table2 and table3) have foreign keys
> referring to a common table(table1), I am unable to
> have 2 concurrent transactions - one performing insert
> on table1 and the other on table2, when the records
> being inserted have the same foreign key.
>
> If I use JDBC, one of the transactions aborts.
> If I open 2 psql sessions and try the same, one just
> waits and does not show the prompt until the other
> transaction has been committed or aborted.
>
> For example,
> create table tmp1(idx int4, data int4);
> create table tmp2(idx2 int4, col2 int4, constraint
> tmpcon2 foreign key(col2) references tmp1(idx));
> create table tmp3(idx3 int4, col3 int4, constraint
> tmpcon3 foreign key(col3) references tmp1(idx));
> insert into tmp1 values(1, 1);
>
> Transaction 1 :
> begin work;
> insert into tmp2 values(2, 1);
>
> Transaction2 :
> begin work;
> insert into tmp3 values(3,1);
>
> Since such transactions are common for me, for the
> time-being I have dropped the foreign key constraint.
> Any ideas ?
>
> Rini
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Photos - 35mm Quality Prints, Now Get 15 Free!
> http://photos.yahoo.com/
>
From | Date | Subject | |
---|---|---|---|
Next Message | The Hermit Hacker | 2000-10-09 23:14:29 | Re: [PATCHES] Re: [ANNOUNCE] Announce: Release of PyGreSQL version 3.0 |
Previous Message | Rod Taylor | 2000-10-09 23:02:16 | Re: Timed Triggers? |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2000-10-09 23:27:32 | Re: foreign key introduces unnecessary locking ? |
Previous Message | Josh Berkus | 2000-10-09 22:44:35 | Re: OID Perfomance - Object-Relational databases |