If I reacall, it (UPDATE ... FROM) does not work with 7.1.
I think it was added only in 7.2.
way is the only way with 7.1.
Bottom line Rajesh: you should upgrade to 7.2.1
JLL
Jeff Eckermann wrote:
>
> I think the second subselect (in the EXISTS clause) is
> not necessary, as it will always return true if the
> where clause in the first subselect (in the SET
> clause) is satisfied.
>
> Another way to write it (untested):
> update email_bank set userid = t_a.userid
> where email_id = t_a.email_id;
>
> --- Rajesh Kumar Mallah <mallah@trade-india.com>
> wrote:
> > Hi ,
> >
> > I ran a query in my server and it runs till my
> > pgsql is put in
> > recovery mode.
> >
> > SQL:
> >
> > UPDATE email_bank set userid=(select userid from
> > t_a where
> > email_id=email_bank.email_id)
> > where exists (select email_id from t_a where
> > email_bank.email_id=t_a.email_id) ;
> >
> > email_bank has 1 million record and t_a as 35K
> > records
> >
> > explain is:
> >
> > NOTICE: QUERY PLAN:
> >
> > Seq Scan on email_bank (cost=0.00..628392.37
> > rows=1009182 width=34)
> > SubPlan
> > -> Index Scan using t_a_1 on t_a
> > (cost=0.00..196.12 rows=325
> > width=4)
> > -> Index Scan using t_a_1 on t_a
> > (cost=0.00..196.12 rows=325
> > width=4)
> >
> > EXPLAIN
> >
> > I find that postgresql initially consumes abt, 52 %
> > CPU runs for
> > sometime and then CPU utilization falls to
> > normal , but system load keeps increasing
> >
> > also pgsql does not respond to cancel requests even.
> >
> > when i try to make another connection i get the
> > error "Database system
> > in recovery mode ..."
> >
> > what am i supposed to do to bring postgresql to an
> > usable state from
> > here?
> >
> > system configs are:
> >
> > database: RH62 + pgsql 7.1.3 + 1 GB ram + dualPIII
> > 800 + SCSI HDD
> > btw i was using PSQL 7.2 client client to connect to
> > PGSQL 7.1.3 (is
> > that ok?)
> >
> >
> >
> > thanks for help in advance..
> >
> >
> > regds
> > malalh.
> >
> >
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Tax Center - online filing with TurboTax
> http://taxes.yahoo.com/
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)