From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Neil Conway <neilc(at)samurai(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)surnet(dot)cl>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: NOLOGGING option, or ? |
Date: | 2005-06-01 08:21:39 |
Message-ID: | 87acmav65o.fsf@stark.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Neil Conway <neilc(at)samurai(dot)com> writes:
> On Wed, 2005-06-01 at 00:40 -0400, Alvaro Herrera wrote:
> > This doesn't work for COPY, but maybe for CREATE TABLE AS we could log
> > the fact that the command was executed, so the replayer could execute
> > the same command again.
> >
> > Of course, this handwaving doesn't explain how the system in recovery
> > mode would be able to execute a full query to reconstruct the table
>
> There's also the typical problem with this kind of approach: how do you
> handle non-deterministic queries? (e.g. "CREATE TABLE ... AS SELECT
> random(), gettimeofday(), some_func(t1.x) FROM t1 LIMIT 5")
For CREATE TABLE AS in the non-PITR case you don't really need to WAL log the
records at all. If it fails in the middle you just drop the table. When it
completes you do a checkpoint before acknowledging the COMMIT.
I think this is already done for CREATE INDEX/REINDEX, also only in the
non-PITR case.
--
greg
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2005-06-01 08:33:20 | Re: Physical Tlist optimization still possible? |
Previous Message | Simon Riggs | 2005-06-01 08:16:46 | Re: NOLOGGING option, or ? |