Search Postgresql Archives

Re: updating all records of a table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I like the "cluster" and "reindex" ideas.  The table is not that big and I do have the disk space.  This table will also grow over time, so if the table ends up taking more space in the end, that's OK, it'll get used.  The DB will also be unavailable to the users while this is happening, so I won't have to be contending with interactive users.

Thanks for all the suggestions!

-----Original Message-----
From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Rob Sargent
Sent: Friday, March 04, 2011 10:21 AM
To: pgsql-general@xxxxxxxxxxxxxx
Subject: Re:  updating all records of a table



On 03/04/2011 04:54 AM, Vibhor Kumar wrote:
> 
> On Mar 4, 2011, at 5:17 PM, Andrew Sullivan wrote:
> 
>> On Thu, Mar 03, 2011 at 08:03:59PM -0700, Gauthier, Dave wrote:
>>> Hi:
>>>
>>> I have to update all the records of a table.  I'm worried about what the table will look like in terms of fragmentation when this is finished.  Is there some sort of table healing/reorg/rebuild measure I should take if I want the resulting table to operate at optimal efficiency?  What about indexes, should I drop/recreate those?
>>
>> Is it really important that it happen in one transaction?
>>
>> In the past when I've had to do this on large numbers of rows, I
>> always tried to do it in batches.  You can run vacuums in between
>> groups, so that the table doesn't get too bloated.
>>
>> Otherwise, yeah, you're better off to do some of the cleanup Joshua
>> suggested.
>>
>> A
> +1 
> 
> If UPDATE is for all rows, then 
> 1. CTAS with change value in SELECT
> 2. Rename the tables. -- This will give zero Bloats.
> 

Elegant, but of course, this doubles the disk space consumed.  Not
always tenable.

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux