Обсуждение: 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