Re: Bulk processing & deletion

From: Ivan Voras <ivoras(at)freebsd(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Bulk processing & deletion
Date: 2011-10-13 12:39:00
Message-ID: j76m54$l39$1@dough.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Sabino Mullane 2011-10-13 12:41:45 Re: link-spam (was Re: [GENERAL] 7)
Previous Message Gregg Jaskiewicz 2011-10-13 12:37:57 Re: Bulk processing & deletion