Re: NOLOGGING option, or ?
Greg Stark <gsstark@mit.edu>
From: Greg Stark <gsstark@mit.edu>
To: Neil Conway <neilc@samurai.com>
Cc: Alvaro Herrera <alvherre@surnet.cl>, Tom Lane <tgl@sss.pgh.pa.us>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2005-06-01T08:21:39Z
Lists: pgsql-hackers
Neil Conway <neilc@samurai.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