On Wed, 19 Jan 2005, Richard Huxton wrote:
> Nothing wrong with what you're doing, however, you are running a
> transaction that touches 142 million rows (expiring the old rows and
> adding new ones). Still, unless you are particularly short of memory, or
> haven't tuned PostgreSQL it should be fine.
>
> Some questions:
> 1. Is the table particularly wide (i.e. number/size of columns)?
Well 28 columns, one varchar, one box, rest 4-byte real/integer.
> 2. Do you have any foreign keys/triggers on the table?
No triggers, but there's one R-tree on the box, and one B-tree on an
integer column. I guess I should have dropped those and re-created
afterwards, but the recreation takes some time, so I hoped to avoid the
need to do that.
I've now managed to restart the server, which took ~1hr to clean itself
up, and am doing a VACUUM FULL ANALYZE on the table. Looks as if the data
are ok, but the new column is still empty of course.
Thanks very much for your help, Richard. Will try again without indices,
keeping an eye on the cpu/memory consumption.
--
Clive Page
Dept of Physics & Astronomy,
University of Leicester,
Leicester, LE1 7RH, U.K.