Re: WIP patch for tuple freezing issues - Mailing list pgsql-patches

From Tom Lane
Subject Re: WIP patch for tuple freezing issues
Date
Msg-id 14303.1162744499@sss.pgh.pa.us
Whole thread Raw
In response to Re: WIP patch for tuple freezing issues  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-patches
"Heikki Linnakangas" <heikki@enterprisedb.com> writes:
> The patch seems to make VACUUM FULL FREEZE combination valid again,
> which should be note in the docs.

Right, I haven't gotten around to fixing the VACUUM ref page yet but
this change is needed.  This is really fallout from Alvaro's previous
changes BTW: there is no longer any need for VACUUM FREEZE to try to
absolutely guarantee a fully-frozen table state.  All it is really doing
is guaranteeing there's nothing older than OldestXmin in there, and so
the fact that VACUUM FULL would put its own xid into the table isn't
a contradiction anymore.

BTW, I intend to say that FREEZE is deprecated in favor of the
equivalent of running VACUUM with vacuum_freeze_distance set to 0.
I'd like to remove it in 8.3 so as to get rid of one non-spec
reserved word.  Any objections?

> This comment in vacuum.c:

> /*
>   * If we froze any tuples, mark the buffer dirty, and write a WAL
>   * record recording the changes.  We must log the changes to be
>   * crash-safe if we truncate clog at conclusion of the vacuum.
>   */

> is not accurate.

OK, how about "... crash-safe against future truncation of clog."?

            regards, tom lane

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Bug in WAL backup documentation
Next
From: "Simon Riggs"
Date:
Subject: Re: [HACKERS] Bug in WAL backup documentation