Re: Delete/update with limit - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Delete/update with limit
Date
Msg-id 20070724100156.Q47050@megazone.bigpanda.com
Whole thread Raw
In response to Re: Delete/update with limit  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: Delete/update with limit  (Csaba Nagy <nagy@ecircle-ag.com>)
List pgsql-general
On Tue, 24 Jul 2007, Gregory Stark wrote:

> "Csaba Nagy" <nagy@ecircle-ag.com> writes:
>
> >> Unfortunately the stuff that makes a ctid=<value> nice doesn't seem to be
> >> used when you're doing an in. It's possible that a function that does
> >> something like
> >>  for rec in select ctid from my_table limit 10 loop
> >>   delete from my_table where ctid=rec.ctid;
> >>  end loop
> >> might do okay, but I haven't tried it.
> >
> > OK, I think this will work. It would be nice though to have the 'ctid
> > in' trick work just as well as 'ctid = ' ...
>
> Unfortunately I don't think this will work. Multiple backends will happily
> pick up the same ctid in their selects and then try to delete the same
> records.

I'm pretty sure he said that the batch processing (and the delete) would
only be happening from one backend at a time, no concurrency on that
portion, merely concurrency with the large volume of inserts.

pgsql-general by date:

Previous
From: Gregory Stark
Date:
Subject: Re: Delete/update with limit
Next
From: Tom Lane
Date:
Subject: Re: varchar does not work too well with IS NOT NULL partial indexes.