Thread: Insert waiting for update?
<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.
<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>
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
<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.
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