Thread: Insert waiting for update?

Insert waiting for update?

From
Ashish Karalkar
Date:
<td style=3D"f=
ont: inherit;">Dear list members,I am having table with 4M rows.I a=
m trying to update all these rows with statementupdate mytable set =
mycolumn=3D0;At the same time there are insert happening on the tab=
le.but all these insert are in waiting mode. does update is locking=
 the table for insert?does insert and update confilict with each ot=
her?With regardsAshihs


       Save all your chat conversations. <a href=
=3D"http://in.rd.yahoo.com/tagline_webmessenger_3/*http://in.messenger.yaho=
o.com/webmessengerpromo.php">Find them online.

Re: Insert waiting for update?

From
Ashish Karalkar
Date:
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="font: inherit;"><br /><br />--- On <b>Wed, 9/1/08,
AshishKaralkar <i><ashish_postgre@yahoo.co.in></i></b> wrote:<br /><blockquote style="border-left: 2px solid
rgb(16,16, 255); margin-left: 5px; padding-left: 5px;">From: Ashish Karalkar <ashish_postgre@yahoo.co.in><br
/>Subject:[GENERAL] Insert waiting for update?<br />To: "pggeneral" <pgsql-general@postgresql.org><br />Cc:
ashish.karalkar@netcore.co.in<br/>Date: Wednesday, 9 January, 2008, 4:29 PM<br /><br /><div id="yiv2031388839"><table
border="0"cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit;
font-variant:inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit;
font-stretch:inherit;">Dear list members,<br />I am having table with 4M rows.<br />I am trying to update all these
rowswith statement<br /><br />update mytable set mycolumn=0;<br /><br />At the same time there are insert happening on
thetable.<br />but all these insert are in waiting mode. <br />does update is locking the table for insert?<br /><br
/>doesinsert and update confilict with each other?<br />With regards<br />Ashihsh<br /><br /><br />For more details:<br
/><br/>I have two tables master,child.<br />with child having fk to master.<br /><br />Now that master table contains
4Mrows . while I update them (Master table) the inserts are going into waiting mode on child table.<br /><br /><br
/>Update acquired row exclusive lock on master table  , and the insert on child table acquired access share and share
lock,rowshare on master. <br /><br />Is this is what preventing for inserting records into child table, I mean is the
rowexclusive lock conflicting with the locks insert wants to hold?<br /><br /><br /><br />With Regards<br
/>Ashish...<br/><br /><br /><br /><br /><br /><br /><br /><br /></td></tr></tbody></table><br /><hr size="1" /> Save
allyour chat conversations. <a
href="http://in.rd.yahoo.com/tagline_webmessenger_3/*http://in.messenger.yahoo.com/webmessengerpromo.php"rel="nofollow"
target="_blank">Findthem online.</a></div></blockquote></td></tr></table><br /><hr size="1" /> Why delete messages?
Unlimitedstorage is <a
href="http://in.rd.yahoo.com/tagline_mail_1/*http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html/">just
aclick away.</a> 

Re: Insert waiting for update?

From
"Albe Laurenz"
Date:
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

Re: Insert waiting for update?

From
Ashish Karalkar
Date:
<td style=3D"f=
ont: inherit;">Thanks for the replayI think you missed on second detail=
 mail :For more details:I have two tables maste=
r,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&n=
bsp;
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 RegardsAshish...--- On Wed, 9/=
1/08, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:<bl=
ockquote style=3D"border-left: 2px solid rgb(16, 16, 255); margin-left: 5px=
; padding-left: 5px;">From: Albe Laurenz <laurenz.albe@wien.gv.at><br=
>Subject: Re: [GENERAL] Insert waiting for update?To: ashish_postgre@ya=
hoo.co.in, "pggeneral" <pgsql-general@postgresql.org>Cc: ashish.k=
aralkar@netcore.co.inDate: Wednesday, 9 January, 2008, 8:53 PM<=
pre>Ashish Karalkar wrote:> I am having table with 4M rows.> =
I am trying to update all these rows with statement> > update=
 mytable set mycolumn=3D0;> > At the same time there are inse=
rt happening on the table.> but all these insert are in waiting mode=
. > does update is locking the table for insert?> > do=
es insert and update confilict with each other?Not normally, but
 it can happen.You couldSELECT l.locktype, t.relname, l.pid=
, l.transactionid, l.mode, l.grantedFROM pg_catalog.pg_locks l LEFT OUT=
ER JOIN     pg_catalog.pg_class t ON l.relation =3D t.oid;and<b=
r>SELECT procpid, current_query FROM pg_stat_activity;while the=
 inserts hang. Maybe the result will indicate why.Are there any tri=
ggers or rules defined?What indexes are defined on the table?Yo=
urs,Laurenz Albe-------------------=
--------(end of broadcast)---------------------------TIP 9: In versions=
 below 8.0, the planner will ignore your desire to       choose an inde=
x scan if your joining column's datatypes do not       match</blo=
ckquote>


       Chat on a cool, new interface. No downloa=
d required. <a href=3D"http://in.rd.yahoo.com/tagline_webmessenger_10/*http=
://in.messenger.yahoo.com/webmessengerpromo.php">Click here.

Re: Insert waiting for update?

From
"Albe Laurenz"
Date:
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?
> 
> 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 wants to hold?

Please post the table definitions including indexes and constraints.

Yours,
Laurenz Albe