Thanks for the replay I think you missed on second detail mail :
For more details:
I have two tables master,child. with child having fk to master.
Now
that master table contains 4M rows . while I update them (Master table)
the inserts are going into waiting mode on child table.
Update
acquired row exclusive lock on master table , and the insert on child
table acquired access share and share lock,row share on master.
Is
this is what preventing for inserting records into child table, I mean
is the row exclusive lock conflicting with the locks insert(which is again row exclusive log) wants to
hold?
With Regards Ashish...
--- On Wed, 9/1/08, Albe Laurenz <laurenz.albe@xxxxxxxxxx> wrote:
From: Albe Laurenz <laurenz.albe@xxxxxxxxxx> Subject: Re: Insert waiting for update? To: ashish_postgre@xxxxxxxxxxx, "pggeneral" <pgsql-general@xxxxxxxxxxxxxx> Cc: ashish.karalkar@xxxxxxxxxxxxx Date: Wednesday, 9 January, 2008, 8:53 PM
Ashish Karalkar wrote: > I am having table with 4M rows. > I am trying to update all these rows with statement > > update mytable set mycolumn=0; > > At the same time there are insert happening on the table. > but all these insert are in waiting mode. > does update is locking the table for insert? > > does insert and update confilict with each other?
Not normally, but
it can happen.
You could
SELECT l.locktype, t.relname, l.pid, l.transactionid, l.mode, l.granted FROM pg_catalog.pg_locks l LEFT OUTER JOIN pg_catalog.pg_class t ON l.relation = t.oid;
and
SELECT procpid, current_query FROM pg_stat_activity;
while the inserts hang. Maybe the result will indicate why.
Are there any triggers or rules defined? What indexes are defined on the table?
Yours, Laurenz Albe
---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
Chat on a cool, new interface. No download required.
Click here.