On 13/10/2011 14:34, Alban Hertroys wrote:
>> Any other ideas?
>
> CREATE TABLE to_delete (
> job_created timestamp NOT NULL DEFAULT now(),
> fk_id int NOT NULL
> );
>
> -- Mark for deletion
> INSERT INTO to_delete (fk_id) SELECT id FROM table WHERE condition = true;
>
> -- Process in app
> SELECT table.* FROM table INNER JOIN to_delete ON (table.id = to_delete.fk_id);
>
> -- Delete them
> DELETE FROM table WHERE id IN (SELECT fk_id FROM to_delete);
Good point. I can even use a temp table for this and make use of
UNLOGGED temp tables when we upgrade to 9.1!