>>> On Tue, Jan 15, 2008 at 3:33 AM, in message <478C7DEC.1020806@proventis.net>,
Thomas Markus <t.markus@proventis.net> wrote:
> update tablename set datecol=null
> ~ 2.3 mio rows
>
> After 6 hours, this was still not finished. selects and inserts are ok.
> System is a dual xeon, 8gb ram, debian 64bit, pg 8.1.4
You do realize that every row updated is a delete and an insert,
right? So this should take as long as a single database transaction
which deleted all the rows in the table and inserted them again.
If datecol is null in any rows, you should try:
update tablename set datecol=null where datecol is not null;
If you have canceled the update because of the long run time, you
will have left a lot of dead rows in the table, which will make the
next attempt run even longer. Be sure you are doing vacuums.
-Kevin