Re: Freezing is not WAL-logged - Mailing list pgsql-bugs

From Jim C. Nasby
Subject Re: Freezing is not WAL-logged
Date
Msg-id 20061020135846.GX26892@nasby.net
Whole thread Raw
In response to Re: Freezing is not WAL-logged  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-bugs
On Fri, Oct 20, 2006 at 09:49:47AM +0100, Heikki Linnakangas wrote:
> Alvaro Herrera wrote:
> >Tom Lane wrote:
> >>"Heikki Linnakangas" <heikki@enterprisedb.com> writes:
> >>>I just noticed that freezing a tuple (in vacuumlazy.c) is not
> >>>WAL-logged.
> >>The theory is that this doesn't matter because the tuple is committed
> >>either way ... it's equivalent to a hint-bit update which we don'ton
> >>WAL-log either.
> >
> >Also it'd be hugely expensive to log each freeze operation.  The
> >alternative would be to log a VACUUM FREEZE, but that has the potential
> >to cause enormous recovery runtime.
>
> Freezing isn't very common, and a single WAL record per page would be
> enough. I can write the patch.
>
> It does have the potential to increase recovery times, but I don't think
> we can just cross our fingers and hope that no crash happens after
> freezing some tuples.

If we're worried enough about the recovery time, AFAIK it should be safe
to fire off a background process to freeze the table and let the rest of
recovery proceed. Perhaps it wouldn't be too difficult to have
autovacuum do this, though we'd have to decide what to do if it was
disabled.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Freezing is not WAL-logged
Next
From: Alvaro Herrera
Date:
Subject: Re: Freezing is not WAL-logged