From: | Christian Ullrich <chris(at)chrullrich(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Cc: | harald(at)2ndQuadrant(dot)com |
Subject: | Re: Using copy for WAL archiving on Windows |
Date: | 2011-01-22 17:40:36 |
Message-ID: | 4D3B1694.5050908@chrullrich.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
* Harald Armin Massa wrote:
> Should PostgreSQL maybe provide its own file-copy utility for
> Windows that meets the requirements for safe WAL archiving?
>
> Microsoft does provide an enterprise-ready webscale copy program ... it
> is called robocopy and part of the Windows Server Resource Kit Tools.
> Would you mind trying that utility for copying WAL-files?
I'm not sure I trust _that_:
### archive_wal.bat ###
robocopy pg_xlog c:\wal %1 /r:0 /w:0 /xc
if errorlevel 4 exit 1
if errorlevel 1 exit 0
if errorlevel 0 exit 1
### end ###
archive_command = "archive_wal.bat %f"
robocopy's exit codes make good reading, if you are into horror stories.
Thanks for the tip; I had previously discounted robocopy because I
thought it could not copy individual files, only whole directories (with
exclusion patterns, but not inclusion patterns). It turns out I will not
use it for entirely different reasons.
The perfect archiving utility for Windows is something like this:
### archive_wal.c ###
#define UNICODE 1
#define _UNICODE 1
#include <windows.h>
int wmain(int argc, WCHAR *argv[])
{
return ((argc == 3
&& CopyFile(argv[1], argv[2], TRUE) != 0) ? 0 : 1);
}
### end ###
archive_command = "archive_wal %p c:\wal\%f"
--
Christian
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Smith | 2011-01-22 18:18:29 | Re: SHMMAX and SHMALL question |
Previous Message | Andy Colson | 2011-01-22 17:06:16 | Re: Server stops responding in every week |