On Wed, Jun 06, 2007 at 04:04:44PM -0600, Dan Harris wrote: > of these operations or a full dump/reload. I do run VACUUM regularly, it's > just that sometimes we need to go back and update a huge percentage of rows > in a single batch due to changing customer requirements, leaving us with > significant table bloat. Do you need to update those rows in one transaction (i.e. is the requirement that they all get updated such that the change only becomes visible at once)? If not, you can do this in batches and vacuum in between. Batch updates are the prime sucky area in Postgres. Another trick, if the table is otherwise mostly static, is to do the updating in a copy of the table, and then use the transactional DDL features of postgres to change the table names. A -- Andrew Sullivan | ajs@xxxxxxxxxxxxxxx Everything that happens in the world happens at some place. --Jane Jacobs