Re: Updating a very large table - Mailing list pgsql-admin

From Tom Lane
Subject Re: Updating a very large table
Date
Msg-id 5486.1240667979@sss.pgh.pa.us
Whole thread Raw
In response to Re: Updating a very large table  (Ron Mayer <rm_pg@cheapcomplexdevices.com>)
List pgsql-admin
Ron Mayer <rm_pg@cheapcomplexdevices.com> writes:
> Would doing something with ctid be even better?
> Or does it have some risks I'm missing.   I'm thinking
> something like:

> update table set new_column=[whatever] where ctid<'(10000,1)';
> vacuum;
> update table set new_column=[whatever] where ctid>'(10000,1)' and ctid<'(20000,1');
> vacuum;
> ...
> update table set new_column=[whatever] where ctid>'(180000,1)';
> vacuum;

You are forgetting the fact that an UPDATE in itself changes a row's
ctid.

            regards, tom lane

pgsql-admin by date:

Previous
From: Ron Mayer
Date:
Subject: Re: Updating a very large table
Next
From: Félix Sánchez Rodríguez
Date:
Subject: Creating functions