Neil Conway <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster