Re: Catalog/Metadata consistency during changeset extraction from wal - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Catalog/Metadata consistency during changeset extraction from wal
Date
Msg-id CA+U5nMLVfMgLe3bB9gXah9tdGmTWyFAvfDHxR+s6Nk2byo+Fig@mail.gmail.com
Whole thread Raw
In response to Re: Catalog/Metadata consistency during changeset extraction from wal  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Catalog/Metadata consistency during changeset extraction from wal  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On 24 June 2012 22:11, Andres Freund <andres@2ndquadrant.com> wrote:

> One interesting problem are table rewrites (truncate, cluster, some ALTER
> TABLE's) and dropping tables. Because we nudge SnapshotNow to the past view it
> had back when the wal record was created we get the old relfilenode. Which
> might have been dropped in part of the transaction cleanup...
> With most types thats not a problem. Even things like records and arrays
> aren't problematic. More interesting cases include VACUUM FULL $systable (e.g.
> pg_enum) and vacuum full'ing a table which is used in the *_out function of a
> type (like a user level pg_enum implementation).

That's only a problem if you are generating changes to the relfilenode
rather than the relid.

ISTM that this step differs depending upon whether we are generating
portable SQL, or whether we are generating changes for immediate
apply. If it is the latter, then it should never actually happen
because if a table rewrite occurred and then committed we would never
need to re-read earlier WAL.

So treating this as a generic problem leads to some weird results that
we don't need to worry about cos they can't actually happen.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


pgsql-hackers by date:

Previous
From: David Kerr
Date:
Subject: empty backup_label
Next
From: Simon Riggs
Date:
Subject: Re: Catalog/Metadata consistency during changeset extraction from wal