Aidan Van Dyk wrote:
> But colour me confused, I'm still not understanding why this is any
> different that with normal PITR recovery.
>
> So even with a plain "cp" in your recovery command instead of a
> sleep+copy (a la pg_standby, or PITR tools, or all the home-grown
> solutions out thery), I'm not seeing how it's going to get "half files".
If the file is just being copied to the archive when restore_command
('cp', say) is launched, it will copy a half file. That's not a problem
for PITR, because PITR will end at the end of valid WAL anyway, but
returning a half WAL file in standby mode is a problem.
> It's well know in PostgreSQL wal archivne - you don't just "shove" files
> into the archive, you make sure they appear there with the right name
> atomically. And if the master is only running the archive command on
> whole WAL files, I just don't understand this whole short wal problem.
Yeah, if you're careful about that, then this change isn't required. But
pg_standby protects against that, so I think it'd be reasonable to have
the same level of protection built-in. It's not a lot of code.
We could well just document that you should do that, ie. make sure the
file appears in the archive atomically with the right size.
> And don't try and tell me your just "poaching" files from a running
> cluster's pg_xlog directory, because I'm going to cry...
No :-).
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com