Re: [HACKERS] Point in Time Recovery - Mailing list pgsql-patches

From Tom Lane
Subject Re: [HACKERS] Point in Time Recovery
Date
Msg-id 446.1092450549@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Point in Time Recovery  ("Simon@2ndquadrant.com" <simon@2ndquadrant.com>)
List pgsql-patches
"Simon@2ndquadrant.com" <simon@2ndquadrant.com> writes:
> I would opt to make enabling/disabling archive_command require a postmaster
> restart. That way there would be no capability to take advantage of the
> incentive to turn it on/off.

We're generally not in the habit of making GUC parameters more rigid
than the implementation absolutely requires.

> It would be my intention (in 8.1) to make those available via switches e.g.
> NOT LOGGED options on CREATE INDEX and COPY, to allow users to take
> advantage of the no logging optimization without turning off PITR system
> wide. (Just as this is possible in Oracle and Teradata).

Isn't this in direct conflict with your opinion above?  And I cannot say
that I think this one is a good idea.  We do not have support for
selective catalog xlogging; if you do something like this then you
*will* have a broken database after recovery, because it will contain
those indexes but with invalid contents.

> I would also aim to make the first Insert Select into an empty table not
> logged (optionally). This is an important optimization for Oracle, teradata
> and DB2 (which uses NOT LOGGED INITIALLY).

This is even worse: not only do you have a broken database, but you have
no way to recover.  (At least with an unlogged index you could fix it by
REINDEX.)  If you don't care about longevity of the table, then make it
a temp table.

The fact that Oracle does it does not automatically make it a good idea.

            regards, tom lane

pgsql-patches by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: [HACKERS] [Fwd: Re: [pgsql-hackers-win32] Import from Linux to
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] [Fwd: Re: [pgsql-hackers-win32] Import from Linux to